Python socket day4
TCP(较UDP麻烦但安全)
- 服务器和客户端区分的很明白
- TCP客户端的程序比起UDP程序,多了一步连接服务器
- TCP服务端
- socket创建一个套接字
- 一定要绑定IP和端口,就跟110一样,是固定的让人随时能知道
- listen使套接字变成可以被动链接
(一般为128,可能会稍微影响同一时刻的客户端的接入数量,但最终接入数量还是由操作系统决定) - accept等待客户端的链接
这兄弟有返回值,会返回一个元组(一个新的套接字,地址)
而且堵塞,直到有人链接进来 - recv/send接受发送数据
# 因为之前已知IP和端口,所以新的套接字就是数据,不是元组(结合 程序02)
- 循环为多个客户端服务
在哪个地方加 while ?
在 accept 前加循环 为循环为多个客户端服务
在 recv 前加循环,在为多个客户服务时,循环为一个客户服务
如果客户端解堵塞有两种原因:- 对方发送数据 ,所以 recv 便解堵塞
- 对方调用了 close() 也会
当调用 close() 时 可以判断数据是否为空 如果为空便为调用close() (断开连接或退出)