Python 使用Socket模块编写一个简单的服务器和客户端

任务

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,指示这字符串是字节的意思)

猜你喜欢

转载自www.cnblogs.com/code0x/p/12228616.html