服务端的基本模型如下,三个点表示空格,为了维持排版用的
简单的介绍:
服务器建立了TCP连接,捆绑了本地地址
然后无限循环
循环中使用accept
...然后开启,两个独立线程,分别进行收、发信息。
------------------
服务端
server=socket.socket()
...|
bind(Addr)
...|
listen(5)
...|
while True:
...conn,addr = accept()
...thread_send = MyThread(conn,addr)
...thread_recv = MyThread(conn,addr)
...thread_send.strt()
...thread_recv.start()
server.close()
问题:
1.当一个客户进来的时候:
...进入监听listen队列
...accept是一直处于暂停状态即阻塞,CPU并不在这里无限循环,而是等待(这是我后来知道的)
...这个时候来了一个客户端,accept建立连接返回conn,addr
...执行两个线程
>>>该如何理解这地方:
...1)是必须要等待两个线程结束,accept才能重新接收来自新的客户端的请求
...2)还是,建立完两个线程之后,accept继续监听?
简单的介绍:
服务器建立了TCP连接,捆绑了本地地址
然后无限循环
循环中使用accept
...然后开启,两个独立线程,分别进行收、发信息。
------------------
服务端
server=socket.socket()
...|
bind(Addr)
...|
listen(5)
...|
while True:
...conn,addr = accept()
...thread_send = MyThread(conn,addr)
...thread_recv = MyThread(conn,addr)
...thread_send.strt()
...thread_recv.start()
server.close()
问题:
1.当一个客户进来的时候:
...进入监听listen队列
...accept是一直处于暂停状态即阻塞,CPU并不在这里无限循环,而是等待(这是我后来知道的)
...这个时候来了一个客户端,accept建立连接返回conn,addr
...执行两个线程
>>>该如何理解这地方:
...1)是必须要等待两个线程结束,accept才能重新接收来自新的客户端的请求
...2)还是,建立完两个线程之后,accept继续监听?
