server_tcp.py1
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
30import 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.py1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22import 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.py1
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
28import 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
14import 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()