【发布时间】:2016-08-12 07:34:25
【问题描述】:
我有一个 python Socket 服务器正在运行,还有一个 socket 客户端。
现在,例如说有 3 个客户端连接到同一台服务器。请在下面找到服务器的代码。
#!/usr/bin/python # This is server.py file
import socket # Import socket module
import threading
serversocket = socket.socket() # Create a socket object
host = socket.gethostname() # Get local machine name
port = 1234 # Reserve a port for your service.
serversocket.bind((host, port)) # Bind to the port
serversocket.listen(5)
print("Bound the port ",port,"on Machine : ",host,", and ready to accept connections.\n")
def clientThread(connection):
while True:
data=connection.recv(1024)
if not data:
break
connection.send("Thanks")
connection.close()
def sendMessage(connection, message):
connection.send(message)
while 1:
connection, address = serversocket.accept()
start_new_thread(clientthread, (connection,))
serversocket.close();
现在,我需要为特定的客户端调用 sendMessage,比如说从客户端 A、B 和 C 中发送给 B。在这种情况下,我如何识别线程并调用该函数?
【问题讨论】:
-
你也可以从单线程聊天服务器中得到一些想法:binarytides.com/…
标签: python multithreading sockets server client-server