本文目录:
1、socket模块创建TCP时间戳服务器/客户端
2、socket模块创建UDP时间戳服务器/客户端
3、socketserver模块创建TCP时间戳服务器/客户端
----------------------------------------------------------------------------/---------------------------------------------------------------
1、socket模块创建TCP时间戳服务器/客户端
- tcpsocket_serve.py
from socket import *
import time
host = ''
port = 2024
buffsize = 10240
ADDR = (host,port)
tcp_socket = socket(AF_INET,SOCK_STREAM)
tcp_socket.bind(ADDR)
tcp_socket.listen(5)
while True:
print('等待连接中......')
tcpClisock,addr = tcp_socket.accept()
print('已连接IP:',addr[0])
print('已连接端口号:', addr[1])
try:
while True:
data = tcpClisock.recv(buffsize)
if not data:
break
print('客户端:',data.decode('utf-8'))
tcpClisock.send(b'[%s]%s'%(time.ctime().encode('utf-8'),data))
tcpClisock.close()
except Exception:
print('连接已断开')
- tcpsocket_client.py
from socket import *
host = '127.0.0.1'
port = 2024
buffsize = 10240
ADDR = (host,port)
tcp_socket = socket(AF_INET,SOCK_STREAM)
tcp_socket.connect(ADDR)
while True:
data = input('客户端:')
if not data:
break
tcp_socket.send(data.encode('utf-8'))
data = tcp_socket.recv(buffsize)
if not data:
break
print('服务器:',data.decode('UTF-8'))
2、socket模块创建UDP时间戳服务器/客户端
- udpscoket_serve.py
from socket import *
import time
host = ''
port = 1234
udp_socket = socket(AF_INET,SOCK_DGRAM)
ADDR = (host,port)
udp_socket.bind(ADDR)
print('正在等待连接...')
while True:
data,addr = udp_socket.recvfrom(10240)
if not data:
break
print('客户端:',data.decode('utf-8'))
if not data:
break
udp_socket.sendto(b'[%s]%s'%(time.ctime().encode('utf-8'),data),addr)
- udpscoket_client.py
from socket import *
host = 'localhost'
port = 1234
ADDR = (host,port)
UDP_socket = socket(AF_INET,SOCK_DGRAM)
UDP_socket.connect(ADDR)
while True:
data = input('>>')
if not data:
break
UDP_socket.send(data.encode('utf-8'))
data = UDP_socket.recv(10240)
if not data:
break
print('服务器:',data.decode('utf-8'))
3、socketserver模块创建TCP时间戳服务器/客户端
- socketserve_serve.py
from socketserver import TCPServer as TCP,StreamRequestHandler as SRH
from time import ctime
host = ''
port = 2024
ADDR = (host,port)
class MyRequestHandler(SRH):
def handle(self):
print('已连接IP:',self.client_address[0])
print('已连接端口:',self.client_address[0])
data = self.rfile.readline()
self.wfile.write(b'[%s]%s'%(ctime().encode('utf-8'),data))
print('客户端:',data.decode('utf-8'))
tcpServe = TCP(ADDR,MyRequestHandler)
print('正在等待连接...')
tcpServe.serve_forever( )
- socketserve_client.py
from socket import *
host = '127.0.0.1'
port = 2024
ADDR = (host,port)
buffsize = 10240
while True:
tcpCliSock = socket(AF_INET, SOCK_STREAM)
tcpCliSock.connect(ADDR)
data = input('客户端:')
if not data:
break
tcpCliSock.send(b'%s\t\n' % data.encode('utf-8'))
data = tcpCliSock.recv(buffsize)
if not data:
break
print(data.strip( ).decode('utf-8'))
tcpCliSock.close( )