Python套接字等待客户端连接

赛车手

有没有办法停止 while 循环,直到客户端连接到该服务器?服务器应该为每个新的客户端连接创建一个新线程,这可能吗?

import socket
import threading

def clientdialog(myS):
    conn, addr = myS.accept()
    print ("Connection from: " + str(addr))

    while 1:
                data = conn.recv(1024).decode("utf-8")
                if not data or data == 'q':
                    break
                print ("from connected  user: " + str(data))

host = "192.168.1.3"
port = 1998

mySocket = socket.socket()
mySocket.bind((host,port))

while True:

    mySocket.listen(10)
    #whait until socket don't connect

    try:
        threading._start_new_thread(clientdialog, (mySocket))
    except:
        print("error starting thread")
cs95

socket.listen函数将被调用一次,因为它设置了连接队列的大小。

调用的另一个函数socket.accept将阻塞,直到建立连接。像这样修改你的代码:

mySocket = socket.socket()
mySocket.bind((host,port))
mySocket.listen(10)

while True:
    client_socket, client_address = mySocket.accept() # blocking call
    .... # do something with the connection

有关更多信息,请访问文档

此外,您可能希望将客户端套接字的详细信息传递给线程。不需要服务器套接字。实际上,是这样的:

def handle_client(client_socket, client_address):
    .... # do something with client socket
    client_socket.close()

...

while True:
    client_socket, client_address = mySocket.accept()
    T = threading.Thread(target=handle_client, args=(client_socket, client_address))
    T.start()

您在主循环中接受连接,然后将客户端详细信息传递给线程进行处理。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

等待客户端读取消息的套接字服务器

来自分类Dev

TCP客户端套接字。连接并等待输入流

来自分类Dev

套接字服务器程序不等待客户端处于“接受”阶段,而是在无限循环中运行

来自分类Dev

Rails PDFKit等待客户端

来自分类Dev

RxAndroidBle 等待客户端响应

来自分类Dev

Python客户端不断失去与tcp套接字的连接

来自分类Dev

套接字客户端连接

来自分类Dev

客户端套接字连接被拒绝

来自分类Dev

使用Python使客户端套接字等待服务器套接字

来自分类Dev

多线程服务器退出,而无需等待客户端的连接

来自分类Dev

如何使客户端等待服务器套接字连接?

来自分类Dev

如何使客户端等待服务器套接字连接?

来自分类Dev

Python tcp套接字客户端

来自分类Dev

在FTP客户端套接字程序中拒绝连接

来自分类Dev

Java客户端套接字返回连接超时异常

来自分类Dev

通过套接字连接从kext验证客户端

来自分类Dev

Web套接字连接从Android客户端失败

来自分类Dev

Android聊天客户端:套接字连接

来自分类Dev

服务器/客户端套接字连接

来自分类Dev

在FTP客户端套接字程序中拒绝连接

来自分类Dev

POSIX 套接字客户端连接到自身

来自分类Dev

将客户端重新连接到不同的套接字

来自分类Dev

如何使用url将python套接字客户端连接到服务器套接字?

来自分类Dev

如何使客户端套接字等待服务器套接字

来自分类Dev

命名管道服务器,如何中断或超时等待客户端连接和传入数据

来自分类Dev

如何限制套接字的连接数并触发客户端超时(Python)

来自分类Dev

Python 3.5.1-Asyncio-检查套接字客户端是否已断开连接

来自分类Dev

C ++套接字客户端到python服务器未创建连接

来自分类Dev

2分钟后,Python套接字客户端断开连接

Related 相关文章

  1. 1

    等待客户端读取消息的套接字服务器

  2. 2

    TCP客户端套接字。连接并等待输入流

  3. 3

    套接字服务器程序不等待客户端处于“接受”阶段,而是在无限循环中运行

  4. 4

    Rails PDFKit等待客户端

  5. 5

    RxAndroidBle 等待客户端响应

  6. 6

    Python客户端不断失去与tcp套接字的连接

  7. 7

    套接字客户端连接

  8. 8

    客户端套接字连接被拒绝

  9. 9

    使用Python使客户端套接字等待服务器套接字

  10. 10

    多线程服务器退出,而无需等待客户端的连接

  11. 11

    如何使客户端等待服务器套接字连接?

  12. 12

    如何使客户端等待服务器套接字连接?

  13. 13

    Python tcp套接字客户端

  14. 14

    在FTP客户端套接字程序中拒绝连接

  15. 15

    Java客户端套接字返回连接超时异常

  16. 16

    通过套接字连接从kext验证客户端

  17. 17

    Web套接字连接从Android客户端失败

  18. 18

    Android聊天客户端:套接字连接

  19. 19

    服务器/客户端套接字连接

  20. 20

    在FTP客户端套接字程序中拒绝连接

  21. 21

    POSIX 套接字客户端连接到自身

  22. 22

    将客户端重新连接到不同的套接字

  23. 23

    如何使用url将python套接字客户端连接到服务器套接字?

  24. 24

    如何使客户端套接字等待服务器套接字

  25. 25

    命名管道服务器,如何中断或超时等待客户端连接和传入数据

  26. 26

    如何限制套接字的连接数并触发客户端超时(Python)

  27. 27

    Python 3.5.1-Asyncio-检查套接字客户端是否已断开连接

  28. 28

    C ++套接字客户端到python服务器未创建连接

  29. 29

    2分钟后,Python套接字客户端断开连接

热门标签

归档