#消息收发TCP版本
#server端
import socket
sk = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sk.bind(('127.0.0.1', 8080))
sk.listen(5) #允许客户端连接数
conn, addr = sk.accept()
while True:
data = conn.recv(1024).decode('utf-8')
print('CLIENT:>>>',data)
server_send_info = input('SERVER:>>>')
conn.send(bytes(server_send_info,'utf-8'))
if data == 'bye':
break
conn.close()
sk.close()
#client端
import socket
sk=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
sk.connect(('127.0.0.1',8080))
while True:
cli_send_info = input('CLIENT:>>>')
sk.send(bytes(cli_send_info,'utf-8'))
msg = sk.recv(1024).decode('utf-8')
print('SERVER:>>>',msg)
if cli_send_info == 'bye':
break
sk.close()
#消息收发UDP版本
#server端
import socket
sk=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
sk.bind(('127.0.0.1',8080))
msg,addr=sk.recvfrom(1024)
print(msg.decode('utf-8'))
sk.sendto(b'hello',addr)
sk.close()
#client端
import socket
sk=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
sk.sendto(b'hello',('127.0.0.1',8080))
msg,addr= sk.recvfrom(1024)
print(msg.decode('utf-8'))
sk.close()
#简易时间同步服务
#服务端
import socket
import time
sk = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sk.bind(('127.0.0.1', 8080))
sk.listen(5) #允许客户端连接数
conn, addr = sk.accept()
while True:
time.sleep(5)
now = time.time()
conn.send(str(now).encode('utf-8'))
#客户端
import socket,time
sk=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
sk.connect(('127.0.0.1',8080))
while True:
msg = sk.recv(1024).decode('utf-8')
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(float(msg))))
网友评论