Python 使用Socket模块编写一个简单的服务器和客户端
Posted code0x
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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,指示这字符串是字节的意思)
以上是关于Python 使用Socket模块编写一个简单的服务器和客户端的主要内容,如果未能解决你的问题,请参考以下文章