老师,有一个关于socket的问题

来源:10-2 socket 和 server 实现通信

宝慕林840146

2022-06-22

在server端编程的时候,通过
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
这行代码创建了一个socket
在监听客户端连接之后,客户端的socket不是直接连接到server这个socket上么?
我看到实际上服务端又创建了一个socket,就是accept函数的返回值,用来接收数据,那请问老师为何这样设计,第一个server创建的socket起到什么作用?是不是每启动一个客户端连接,服务端就要多创建一个socket?

写回答

1回答

bobby

2022-06-25

每个客户端连接都需要一个socket来维护的,建立了socket以后后续这个socket的所有收发都需要一个线程或者协程去处理, 所以关键在于:每个连接都需要建立一个socket

1
0

Python3高级核心技术97讲,高级进阶的必学课程

socket编程/多线程/多进程/线程池/asyncio并发编程/协程和异步IO

2121 学习 · 551 问题

查看课程