定义实例socket.socket(),如果括号里不写参数,默认为IPV4+TCP
我们猜测客户端的完整代码如下:
同样我们猜测服务端的代码如下:
实际上运行客户端代码:
说明在py3里,网络编程发送必须是byte类型。所以客户端那里的send的字符串要为字节类型,
client.send(b"Hello World!"),前面加了一个字母b
同样在服务端也会报错:
这个原因是server就是一个连接,这个连接进程不能又在一边等待accept(),一边接收recv(1024)。
所以我们要把客户端连接过来的连接名称以及IP地址进行标记区分出来。
我们把conn和addr打印出来看看:
前面就是conn客户端连接进来的连接实例,协议是ipv4,使用的是tcp,laddr是localhost addr本地地址127.0.0.1+端口号6969,raddr是remote addr,也就是远程客户端地址127.0.0.1+端口号3630
后面是addr,也就是ip地址127.0.0.1+端口号3630,这个是客户端的IP+客户端端口号。
最终客户端代码如下:
最终服务端代码如下: