python 网络编程
基于tcp的套接字
import socket import json ''' 服务端监听 ''' sk=socket.socket() sk.bind(("127.0.0.1",8009)) sk.listen() while True: conn,addr=sk.accept() while True: data = conn.recv(8096) print(data.decode("utf-8")) str=input("回复:") str = '回复;' + str conn.send(str.encode("utf-8")) conn.close()
客户端
import socket ''' 客户端请求 ''' sk=socket.socket() sk.connect(("127.0.0.1",8009)) while True: str=input("请输入:") sk.send(str.encode("utf-8")) ret=sk.recv(1024) print(ret.decode("utf-8")) sk.close()
基于udp的套接字
服务端
import socket udp_sk=socket.socket(type=socket.SOCK_DGRAM) udp_sk.bind(("127.0.0.1",9000)) msg,addr=udp_sk.recvfrom(1024) print(msg) udp_sk.sendto(b"hi",addr) udp_sk.close()
客户端
import socket ip_port=("127.0.01",9000) udp_sk=socket.socket(type=socket.SOCK_DGRAM) udp_sk.sendto(b'hello',ip_port) back_msg,addr=udp_sk.recvfrom(1024) print(back_msg.decode("utf-8"),addr)