客户端与服务端进行通信的协议是Tcp/Ip,我们客户端与服务端实现数据通信除了协议的支持外,还需要一个Socket套接字的应用。下面我将我学习Socket的的这个例子:实现客户端与服务端通信,来给大家一看分享学习一下: 第一:这是WinForm环境下的,首先是一个布局,客户端和服务端各一个WinForm。 第二:客户端要想连接服务端,首先我得有一个IP,得有一个端口号,所以我服务端可以这样来安排,由于是本地练习,所以IP固定为:127.0.0.1 端口号固定为:5000,这里我可以开始写我的监听事件了,首先我创建一个Socket套接字WatchSocket,用创建好的套接字去关联IP、端口,并绑定,设置监听队列。具体服务端设置监听的代码如下:
Socket WatchSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); IPAddress ipAddress = IPAddress.Parse(txtIP.Text); IPEndPoint endPoint = new IPEndPoint(ipAddress, Convert.ToInt32(txtDK.Text)); WatchSocket.Bind(endPoint); WatchSocket.Listen(10);
其中,Socket参数分别代表:寻址协议,以流的方式传输,采用TCP协议。 而下面绑定的比如,txtIP 、 txtDK 则代表WinForm中相对于的属性Name,不多解释。 到这里,我们服务端绑定了Socket之后,客户端呢,客户端同样也需要连接服务端,这样两者才能达到连接与被连接状态,具体客户端连接代码如下:
Socket clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); IPAddress ipAddress = IPAddress.Parse(txtIP.Text); IPEndPoint endPoint = new IPEndPoint(ipAddress, Convert.ToInt32(txtDK.Text)); clientSocket.Connect(endPoint);
是不是感觉客户端Socket连接与服务端Socket创建都差不多,对的,就是这样。只不过一个是连接,一个是监听。 写到这里,读者可以延伸一下,给