---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
网络中的计算机实现通信的前提是知道对方的IP地址和端口,然后建立通信通道最后通信,Socket就是建立计算机通信通道的类。
服务器端创建一个监听套接字调用Listen方法来监听客户端请求,浏览器(客户端)用已知的服务器IP地址和端口号创建请求套接字调用Connect方法来向服务器发送请求 (个人认为当客户端的套接字调用Connect方法的同时也将自己的IP和端口号传输给服务器),服务器监听到客户端的请求后会调用Accept重新生成一个新的套接字 ,然后用这个新的套接字与客户端的套接字进行通信,其中服务器接受客户端请求的方法Accept会一直等待客户端发送请求过来,客户端接收服务器消息的方法receiv会一直等服务器发来消息 ,即Accept方法与receiv方法会阻塞线程,因此会创建新线程来调用这两个方法。
C#程序实现客户端与服务器通信的代码如下:
服务器端程序:
Socket socketconn = null;//此套接字变量用来放监听套接字接受客户端请求后产生的一个新的套接字
//实例化一个TCP协议的套接字
WathchSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
//假设服务器IP为:19