使用socket编程

socket 在计算机中提供了一个通讯端口,可以通过这个端口与任何一个具有socket接口的计算机通讯,应用程序在网络上传输、接收的信息都通过这个socket接口来实现。

Socket通讯原理如下:
服务端实现监听连接,客户端实现发送连接请求,简历连接后,发送和接收数据进行通讯。
具体:
服务端建立一个socket,设置好本机的IP和监听的端口并与socket进行绑定,开始监听连接请求;当接收到请求后,发送确认,同客户端建立连接,开始于客户端进行通讯。
同时客户端建立一个socket,设置好服务器端的IP和提供服务的端口,发出连接请求,接收到服务的确认后,尽力连接,开始与服务器进行通讯。
服务端和客户端的连接以及它们之间的数据传送均采用同步方式(要链接一个ws2_32.lib的库文件,头文件winsock2.h,dll文件Ws2_32.dll).
采用UDP编程则不一样,UDP编程的发送端只管发送就可以了,不用检查网络的链接状态。

使用socket编程_第1张图片
socket通讯原理图

在服务器端有一个控制程序(或者windows服务)与多个客户端程序通讯,其中主线程有一个socket绑定在一个固定的端口上,负责监听客户端的sock信息。每当启动一个客户端,客户端发送一个socket连接请求,服务器端就新开启一个线程,并在其中穿件一个socket与该客户端的socket通信,知道客户端程序关闭,结束该线程,主线程中的socket在应用程序退出时关闭。

你可能感兴趣的:(使用socket编程)