任务
Socket套接字开始监听后,使用accept函数来等待客户连接。这个过程在循环中无限循环,服务器处理完和客户端的连接后会再次调用accpet函数,等待下一个连接。
客户端代码
1 import socket 2 s1=socket.socket() 3 s1.bind(("127.0.0.1",2345)) 4 s1.listen(5) 5 while 1: 6 conn,address = s1.accept() 7 print("a new connect from",address) 8 conn.sendall("Hello world".encode()) 9 conn.close()
先导入scoket模块,初始化一个Socket,将IP地址和端口与Socket进行绑定,开启监听,使用accept()函数等待客户连接,打印连接ip地址,发送数据 "Hello world",最后关闭连接
(python3和Python2在套接字返回值解码上有区别,在Python3版本中需要填写字节型,所有需要使用encode()函数,详细看链接 https://www.fujieace.com/python/str-bytes.html)
服务端代码
1 import socket 2 s2 = socket.socket() 3 s2.connect(("127.0.0.1",2346)) 4 data = s2.recv(1024) 5 s2.close() 6 print(‘Received:‘,repr(data.decode()))
先导入scoket模块,初始化一个Socket,connect()函数连接指定到目标服务器,接收数据,关闭连接,打印数据
(同样的,将字节输出为字符时,需要用decode()方法,不使用则会在输出内容前显示一个b,指示这字符串是字节的意思)
原文地址:https://www.cnblogs.com/code0x/p/12228616.html
时间: 2024-10-12 11:56:28