【Python高级编程025 ● 网络编程 ● 开发TCP网络程序注意点】


---------Python基础编程---------

Author : AI菌


【内容讲解】

1、当TCP客户端程序想要和TCP服务端程序进行通信的时候必须要先建立连接
2、TCP客户端程序一般不需要绑定端口号,因为客户端是主动发起建立连接的
3、TCP服务端程序必须绑定端口号,否则客户端找不到这个TCP服务端程序。 TCP服务端程序不需要绑定IP,本机的任何一个ip地址都可以。
4、listen前的套接字是被动套接字,只负责接收新的客户端的连接请求,不能收发消息。
5、当TCP客户端程序和TCP服务端程序连接成功后,TCP服务器端程序会产生一个新的套接字,收发客户端消息使用该套接字。
6、关闭accept返回的套接字,意味着和这个客户端已经通信完毕。
7、关闭listen前的套接字意味着服务端的套接字关闭了, 会导致新的客户端不能连接服务端,但是之前已经接成功的客户端还能正常通信。
8、当客户端的套接字调用close后,服务器端的recv会解阻塞,返回的数据长度为0, 服务端可以通过返回数据的长度来判断客户端是否已经下线。 反之服务端关闭套接字,客户端的recv也会解阻塞,返回的数据长度也为0。

【运行结果】

TCP客户端连接服务端后,不发送数据,立刻断开,TCP服务端收到数据长度为0:

new_socket: <socket.socket fd=524, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, 
proto=0, laddr=('192.168.1.64', 9090), raddr=('192.168.1.235', 53696)> 客户端的ip地址和端口号为: ('192.168.1.235', 53696) 接收数据的长度: 0 接收的客户端数据:

【往期精彩】

▷【Python基础编程196 ● 读取文件的4种方式】
▷【Python基础编程197 ● 读取文件的4种方式】
▷【Python基础编程198 ● 读取文件的4种方式】
▷【Python基础编程199 ● Python怎么读/写很大的文件】
▷【Python基础编程200 ● 读取文件的4种方式】
▷【Python基础编程201 ● 读取文件的4种方式】
▷【Python基础编程202 ● 读取文件的4种方式】
▷【Python基础编程203 ● 读取文件的4种方式】

【加群交流】



原文地址:https://www.cnblogs.com/hezhiyao/p/13650462.html