8.3 PythonPython创建TCP服务端和客户端

3、Python创建TCP服务端和客户端

1)TCP协议示意

在这里插入图片描述

(Socket英文里是“插座”的意思,翻译到中文为“套接字”)

2)创建TCP服务端

步骤:创->绑->监->接

  1. 创建socket对象 socket.socket(family=AF_INET, type=SOCK_STREAM, protp=0, fileno=None)
    • family:指定网络类型(AF_INET(默认),基于 IPv4 协议的网络;AF_INET6 基于 IPv6 协议的网络;AF_UNIX 基于 UNIX 的网络)
    • type:指定 socket 类型(SOCK_STREAM(默认),基于 TCP 协议;SOCK_DFRAM,基于 UDP 协议)
    • protp:协议号
    • fileno:文件号
  2. 绑定到指定IP、端口 socket.bind(address)
    • address 参数为元组,包含 IP 地址和端口
  3. 在该 IP、端口监听,用于接收来自客户端的连接 socket.accept()
    • 返回客户端的 socket 和客户端的地址
import socket

# 创建socket对象 
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM, 0)
# 绑定到指定的 IP 和端口
s.bind(('192.168.1.17', 3000))
# 监听
s.listen()
while True:
    # 接受来自客户端的连接
    c, addr = s.accept()
    print(addr)
    # socket的send,recv方法用于发送和接受数据
    c.send('我是服务端,您好!'.encode('UTF-8'))
    # 关闭资源
    c.close()

3)创建TCP客户端

步骤:创->连

  1. 创建 socket 对象
  2. 连接服务器,connect()
import socket

# 创建socket对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务器
client_socket.connect(('192.168.1.10', 30000))

# 建立连接后,server 与 client 虚拟链路建立成功
print(client_socket.recv(2048).decode('UTF-8'))    # 接受服务端发送的数据

服务端:

在这里插入图片描述

客户端:

在这里插入图片描述

多次运行客户端后的服务端:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值