Python TCP服务器&客户端 + UDP接收&发送

‘’’
socketserver
‘’’
import time
import socket
import socketserver

class RequestHandler(socketserver.StreamRequestHandler):
def handle(self):
try:
self.data = self.request.recv(1024).decode()
print(’%s:%s>>%s’%(self.client_address[0],self.client_address[1],self.data))
self.request.sendall((’[%s]%s’%(time.ctime(),self.data)).encode())
except:
print(’%s:%s:%s’%(self.client_address[0],self.client_address[1],‘say goodby’))

def tcp_socketserver_server():
s = socketserver.ThreadingTCPServer((’’,9999),RequestHandler)
print(‘TCPServer listening on %s:%s…’%(socket.gethostbyname(socket.gethostname()),9999))
s.serve_forever()

‘’’
socket
‘’’
def tcp_socketserver_client():
while True:
s = socket.socket()
s.connect((socket.gethostbyname(socket.gethostname()),9999))
text = input(‘send:’)
s.send(text.encode())
re = s.recv(1024)
print(re.decode())

def tcp_server():
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind((‘0.0.0.0’,9999))
s.listen()
print(socket.gethostbyname(socket.gethostname()),9999,‘server starting …’)
while True:
try:
client,addr = s.accept()
recv = client.recv(1024).decode()
print(addr[0],addr[1],’>>’,recv)
client.send(recv.encode())
except:
print(addr[0],addr[1],’>>’,‘say goodby’)

def tcp_client():
while True:
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect((socket.gethostbyname(socket.gethostname()),9999))
text = input(‘send:’).encode()
s.send(text)
response = s.recv(1024).decode()
print(response)
s.close()

def udp_recver():
s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
ip = socket.gethostbyname(socket.gethostname())
port = int(input(’\ninput your recver port please:’))
s.bind((ip,port))
print(ip,port,‘listening…’)
data,addr = s.recvfrom(1024)
print(addr,’:’,data.decode())
s.sendto(data,addr)

def udp_sender():
s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
ip = input(‘input target ip please:’)
port = int(input(‘input target port please:’))
text = input(‘send:’).encode()
s.sendto(text,(ip,port))
data,addr = s.recvfrom(1024)
print(data.decode())

def select_type():
return tcp_server()

if name == ‘main’:
select_type()


猜你喜欢

转载自blog.csdn.net/zheng_ruiguo/article/details/84570816