首页 Python通用模块视频教程 TCP客户端和服务端之间的数据交互
pay pay

TCP客户端和服务端之间的数据交互

日期: 五月 5, 2023, 12:46 p.m.
阅读: 124
作者: Python自学网-村长

摘要: TCP客户端和服务端之间的数据交互

client:

import socket


# 1.创建会话
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 指定协议:AF_INET或AF_INET6;SOCK_STREAM表示执行面向流的TCP协议

# 2.建立链接
client.connect(('192.168.5.2', 8088))

# 3.发送数据
while True:
    data = input('请输入给服务器发送的数据:')
    client.send(data.encode('utf-8'))  # 给服务器发送信息
    back_info = client.recv(1024).decode('utf-8')  # 接受服务器应答信息
    print(back_info)

server:

import socket


# 1.创建会话
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 指定协议:AF_INET或AF_INET6;SOCK_STREAM表示执行面向流的TCP协议

# 2.建立链接
server.bind(('192.168.5.2', 8088))  # 指定链接地址和端口号

# 3.监听链接
server.listen(5)  # 这里的5相当于任务数,用于多线程或者多进程中,表示同一时间最多有5个连接
print('######')

# server.accept()会接收到两个数据:客户端基本信息和地址
info, addr = server.accept()
print(info)  # 这里一次只能接收到一个客户端的信息,想要接收多个开辟子线程
# <socket.socket fd=136, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('192.168.5.2', 8088), raddr=('192.168.5.2', 52112)>
print(addr)
# ('192.168.5.2', 52112)
print('######')

while True:
    data = info.recv(1024)  # 通过客户端来接受数据
    print('收到来自客户端的数据' + data.decode('utf-8'))
    send_data = input('请输入服务器的应答信息:')
    info.send(send_data.encode('utf-8'))  # 给客户端发送应答信息

 

原创视频,版权所有,未经允许,切勿转载,违者必究!
回顶部