python网络编程socket
TCP服务端
import socket
sk=socket.socket(type=socket.SOCK_STREAM)
sk.bind(('127.0.0.1',8898))
print('服务端开始允许,等待客户连接中!')
sk.listen()
con,add=sk.accept()
print('客户端已连接:',add)
while True:
recv_msg=con.recv(1024)
print(recv_msg.decode())
if recv_msg.decode() == 'bye':
break
send_msg=input('服务端发送消息是:')
con.send(send_msg.encode())
con.close()
sk.close()
tcp客户端
import socket
sk=socket.socket(type=socket.SOCK_STREAM)
sk.connect(('127.0.0.1',8898))
while True:
inp=input('客户端发送的信息:')
sk.send(inp.encode())
s_msg=sk.recv(1024)
print('服务端发来的信息:',s_msg.decode())
if s_msg.decode() == 'bye':
break
sk.close()
udp服务端
import socket
sk=socket.socket(type=socket.SOCK_DGRAM)
sk.bind(('127.0.0.1',8996))
print('udp服务端开始运行!')
while True:
msg,add=sk.recvfrom(1024)
print('客户端发来的信息:',msg.decode())
if msg.decode()=='bye':
break
s_msg=input('服务端的信息:')
sk.sendto(s_msg.encode(),add)
sk.close()
UDP的客户端
import socket
sk = socket.socket(type=socket.SOCK_DGRAM)
add = ('127.0.0.1', 8996)
while True:
send_msg = input('输入发送的信息:')
sk.sendto(send_msg.encode(), add)
s_msg = sk.recv(1024)
print('服务端发来的信息是:', s_msg.decode())
sk.close()