lstd.net
当前位置:首页 >> soCkEt客户端和服务端 >>

soCkEt客户端和服务端

下载完成后,软件是一个单独的运行程序,可以直接打开软件.3 软件的界面很简单,在左侧有tcp和udp的客户端或服务端的快捷按钮,上方有【创建】【删除】【退出】等选项按钮.4 我们先来建立TCP的测试服务端.点击【TCP Server】再

服务器的部分用一个ServerSocket来listen一个port.客户端的部分是用一个Socket来打开对另一个地方的connection,两个不干扰的.只是ServerSocket.accept()应该会block你的execution,所以你可能需要让你的server的部分和client的部分在不同的thread里面运行.

我看了前面的一些回答,其实没那么麻烦的,你只需要分配不同的端口号就行了,客户端和服务端属于不同的线程,不同的端口号,在不在同一台电脑上都ok的.socket最早就是用来线程间通信的,网络编程用socket还只是后来发展的,如果想学socket编程,建议可以先了解下网络方面的知识,还是有必要的.

之所以称为tcp服务器,是因为服务器端执行tcp的listen(监听连入请求)逻辑;而tcp客户端执行的是connect(请求连接)逻辑.所以,不能可能让服务器去主动连接客户端端的.

不是,虽然最后都是Socket对象之间的通讯,服务器端的Socket是由ServerSocket在端口侦听,在接收到客户端的连接请求后,产生的;客户端则是利用Socket对象,去连接服务器.

对于服务器,你先创建一个套接字(socket),然后bind绑定一个套接地址,然后你在用listen,此时你的服务器会一直阻塞在这,处于监听状态,检查是否有客户端来connect,一旦有的话,你的服务器就会accept.所以,是你的服务器是处于监听状态,监听是否有客户端,然后由客户端来连接服务器,服务器接受客户端的连接,而不是服务器去连接客户端.

客户端要和服务器端建立通信时,需要建立套接字连接socket建立一条通信“线路”.客户端建立的mysocket对象向服务器端发出呼叫请求,服务器端则建立一个等待接收客户套接字的对象serversocket对象,建立套接字连接后客户端和服务器端便可通过分别调用输入流getinputstream()方法和输出流getoutputstream()方法进行通信.

ClientSocket组件为客户端组件.它是通信的请求方,也就是说,它是主动地与服务器端建立连接. ServerSocket组件为服务器端组件.它是通信的响应方,也就是说,它的动作是监听以及被动接受客户端的连接请求,并对请求进行回复.

熟悉socket API熟悉建议先看看socket编程文档链接址:(v=VS.85).aspx般服务端sokcet API调用顺序:bind() // 设置服务端口listen() // 等待客户端连接accept() // 与客户端建立连接请参考:(v=VS.85).aspxaccept函数原型:

可以做一个简单的比喻,就像在一个文件夹中不能有两个同名的文件,但是你却可以打开很多个同一个文件socket的原理是:服务器是在本机上新建一个服务端口,比如建一个3128的服务端口,这个时候它就会占住这个端口不让别人再的服务器再使用这个端口客户端是向某一个IP地址请求端口,不需要占服务的端口.即:一个电脑(更严格的说是网卡)上,不能新建2个有相同socket端口的服务器,但是可以有N个连相同端口的客户端

ltww.net | 5689.net | rjps.net | gsyw.net | 3859.net | 网站首页 | 网站地图
All rights reserved Powered by www.lstd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com