server_tcp.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| import socket import sys
# 创建 socket 对象 serversocket = socket.socket( socket.AF_INET, socket.SOCK_STREAM) # socket.AF_INET6 ipv6 # socket.SOCK_DGRAM udp
# 获取本地主机名 host = socket.gethostname() print(host)
port = 9999
# 绑定地址与端口号 serversocket.bind((host, port))
# 设置最大连接数,超过后排队 serversocket.listen(5)
while True: # 建立客户端连接 接受TCP连接并返回(conn,addr) clientsocket,addr = serversocket.accept()
print("tcp 连接地址: %s" % str(addr))
msg='欢迎访问'+ "\r\n" clientsocket.send(msg.encode('utf-8')) # 发送TCP数据 clientsocket.close()
|
client_tcp.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| import socket import sys
# 创建 socket 对象 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 获取本地主机名 host = '10.40.191.58' print(host)
# 设置端口号 port = 9999
# 连接服务,指定主机和端口 s.connect((host, port))
# 接收小于 1024 字节的数据 msg = s.recv(1024)
s.close()
print (msg.decode('utf-8'))
|
server_udp.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| import socket import sys
# 创建 socket 对象 serversocket = socket.socket( socket.AF_INET, socket.SOCK_DGRAM) # socket.AF_INET6 ipv6 # socket.SOCK_DGRAM udp
# 获取本地主机名 host = '127.0.0.1' print(host)
port = 10000
# 绑定地址与端口号 serversocket.bind((host, port))
# 设置最大连接数,超过后排队 # serversocket.listen(5) 不需要
while True:
data, addr = serversocket.recvfrom(1024) print("udp 连接地址: %s" % str(addr))
serversocket.sendto(f'hello {data}!'.encode('utf-8'), addr)
|
client_udp.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| import socket import sys
s = socket.socket( socket.AF_INET, socket.SOCK_DGRAM)
host = '127.0.0.1' port = 10000
for data in ['abd', '嘻嘻']: s.sendto(data, (host, port)) print(s.recv(102444).code('utf-8')) s.close()
|