TCP服务端与客户端
import socket
from time import ctime
class TcpServer(object):
def __init__(self, host='127.0.0.1', port=8888, bufsiz=1024, listen=10):
self.tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.BUFSIZ = bufsiz
self.ADDR = ((host, port))
self.tcp_server_socket.bind(self.ADDR)
self.tcp_server_socket.listen(listen)
def conn(self):
while True:
print('TCP conn start')
tcp_listen_socket, addr = self.tcp_server_socket.accept()
print('...connected from ', addr)
while True:
data = tcp_listen_socket.recv(self.BUFSIZ)
if not data:
break
data = data.decode('utf-8')
respMsg = '[%s] %s' % (ctime(), data)
tcp_listen_socket.send(bytes(respMsg, 'utf-8'))
tcp_listen_socket.close()
def close(self):
self.tcp_server_socket.close()
if __name__ == '__main__':
ts = TcpServer()
ts.conn()
import socket
class TcpClient(object):
def __init__(self, host='127.0.0.1', port=8888, bufsiz=1024):
self.BUFSIZ = bufsiz
self.ADDR = ((host, port))
self.tcp_client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
def conn(self):
self.tcp_client_socket.connect(self.ADDR)
while True:
data = input(">> ")
if not data:
break
self.tcp_client_socket.send(bytes(data, 'utf-8'))
data = self.tcp_client_socket.recv(self.BUFSIZ)
if not data:
break
print(data.decode('utf-8'))
def close(self):
self.tcp_client_socket.close()
if __name__ == '__main__':
tc = TcpClient()
tc.conn()
UDP服务端与客户端
import socket
from time import ctime
class UdpServer(object):
def __init__(self, host='127.0.0.1', port=8888, bufsiz=1024, listen=10):
self.udp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
self.BUFSIZ = bufsiz
self.ADDR = ((host, port))
self.udp_server_socket.bind(self.ADDR)
def conn(self):
while True:
print('UDP conn start')
data, addr = self.udp_server_socket.recvfrom(self.BUFSIZ)
data = data.decode('utf-8')
respMsg = '[%s] %s' % (ctime(), data)
self.udp_server_socket.sendto(bytes(respMsg, 'utf-8'), addr)
print('...received from and return to:', addr)
def close(self):
self.udp_server_socket.close()
if __name__ == '__main__':
us = UdpServer()
us.conn()
import socket
class UdpClient(object):
def __init__(self, host='127.0.0.1', port=8888, bufsiz=1024):
self.BUFSIZ = bufsiz
self.ADDR = ((host, port))
self.udp_client_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
def conn(self):
while True:
data = input(">> ")
if not data:
break
self.udp_client_socket.sendto(bytes(data, 'utf-8'), self.ADDR)
data, addr = self.udp_client_socket.recvfrom(self.BUFSIZ)
if not data:
break
print(data.decode('utf-8'))
def close(self):
self.udp_client_socket.close()
if __name__ == '__main__':
uc = UdpClient()
uc.conn()