python网络编程—服务端与客户端简单信息发送与接受
思考一下我们进行网络中信息通信都需要什么或者说需要具备什么条件才能进行网络通信?首先我们需要知道给谁发送,也就是目标机是谁,然后我们需要知道对方的IP地址以及对方接受消息的端口,这样才能正确通过网络数据传输,将我们的消息发送给对方
作为目标机,我们需要绑定我们的IP地址,以及接受消息的端口,通过这个端口接受发送消息方的消息并处理消息,这样才能完成通信
2.那么在python中客户端与服务端如何进行通信,我们通过代码进行解释
客户端代码
#客户端代码import socket#同样在客户端也需要创建socket对象才能完成网络通信clicent = socket.socket()#连接给谁发的IP地址以及端口号clicent.connect(("10.132.5.70",8000))#输入要发送的消息msg = input()#通过socket对象发送消息clicent.send(msg.encode("utf-8"))#接受来自服务端回复的消息,最多接受1024字节ret = clicent.recv(1024)print(ret)#关闭连接clicent.close()
服务端代码
#服务端代码import socket#获取socket对象serve = socket.socket()#绑定自己的IP地址以及端口号serve.bind(('10.132.5.70',8000))#表示最多处理5个连接请求,当连接请求超过5个时候,就不再处理之后的请求serve.listen(5)#等待客户端的连接,注意在这里会发生阻塞,如果没有客户端连接就会一直等待#conn表示与客户端连接对象,之后与客户端发送消息以及接受客户端的消息都是通过这个对象来完成,addr表示客户端的地址conn,addr = serve.accept()print("客户端连接:",conn,addr)#接受来自客户端的消息,最多接受1024字节,我们要知道,在网络上消息的传输都是通过字节流来进行输送的,所以我们进行发送消息以及接受消息都是字节ret = conn.recv(1024)print(ret)msg = input("")conn.send(msg.encode("utf-8"))#关闭连接conn.close()serve.close()