TCP和UDP的区别:https://blog.csdn.net/u013777351/article/details/49226101
服务端代码:
#-*- coding:utf8 -*-
import socket
def run(addr, port):
# 创建socket对象(socket):其中两个参数分别为Address Family(如AF_INET为IPV4,AF_INET6为IPV6,AF_UNIX为UNIX域协议族)、socket类型(如SOCK_STREAM为TCP,SOCK_DGRAM为UDP)。
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定服务器地址(bind):参数为服务器地址二元组。
sock.bind((addr, port))
# 监听(listen):参数为允许的连接数。
sock.listen(1)
# 等待请求(accept)。
while True:
connection, clientaddr = sock.accept()
try:
# 接收数据(recv、recvfrom、recvfrom_into、recv_into)、发送数据(send、sendall、sendto)。
data = connection.recv(1024)
print('Client Address:', clientaddr)
print('Message sent:', data)
finally:
# 关闭连接(close)。
connection.close()
if __name__ == '__main__':
run('127.0.0.1', 8001)
客户端代码:
#-*- coding:utf8 -*-
import socket
#
# 关闭连接:同server端。
def send(addr, port):
# 创建socket对象(socket):同server端。
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务器(connect):参数为服务器地址二元组。
sock.connect((addr, port))
# 发送和接收数据:同server端。
msg = 'hello server'
sock.sendall(msg)
sock.close()
if __name__ == '__main__':
send('127.0.0.1', 8001)
网友评论