1) Socket通信过程
==>服务器端监听:服务器端socket并不定位具体的客户端socket,而是处于等待监听状态,实时监控网络状态。
==>客户端请求:客户端clientSocket发送连接请求,目标是服务器端的serverSocket,因此,客户端clientSocket必须知道服务器端serverSocket的IP地址和端口号,用来进行扫描进行发送连接请求。
==>连接确认:当服务器端socket监听到或者是收到客户端socket连接请求时,服务器端就相应客户端的连接请求,建立一个新的socket,把服务器端socket发送到客户端,一旦客户端确认连接,则连接建立。(注意:在连接确认阶段,服务器端socket即使和客户端socket建立连接后,还在处于监听状态,仍然可以接受到其他客户端的连接请求,也就是一个服务器端是可以对应多个客户端的)。
2) 学习Socket类
==>Socket类学习
public Socket(AddressFamily addressFamily,SocketType socketType,ProtocolType protocolType);
(这是TCP协议的创建Socket)
addressFamily表示的是网络类型,一般使用AddressFamily.InterNetwork(Ipv4);
socketType表示socket类型,TCP使用的是SocketType.Stream;
protocolType表示使用的协议,Tcp使用ProtocolType.Tcp。
(这是UDP协议的创建Socket)
addressFamily表示的是网络类型,一般使用AddressFamily.InterNetwork(Ipv4);
socketType表示socket类型,UDP使用的是SocketType.Dgram;
protocolType表示使用的通信协议,UDP使用ProtocolType.Udp;