我有一个需要让多个套接字通信的Android应用。这是基本的工作:
我的应用程序(Say Server)是一个将作为服务器套接字运行的服务。其他应用程序可以在预定义的端口上连接它。可以有多个连接,例如客户端1,客户端2。
因此,当客户端1发送问候语时,服务器将处理此问题,并应将回复发送回客户端1。
目前我能够为客户端1和客户端2连接服务器。我已经创建了输入,输出缓冲区。但我不确定服务器将如何检测它已收到"你好"。
我指的是这个例子,但仍然不清楚如何使用该解决方案:
How can I handle multiple clients connected to a server using sockets?
答案 0 :(得分:0)
ServerSocket.accept()调用在服务器端创建连接,返回一个套接字。每次接受调用都将创建一个新的Socket,用于与该特定客户端进行通信。所以无论Socket发送什么输入都是需要响应的Socket。
答案 1 :(得分:0)
首先,我尝试在建立新连接时检查线程ID,但它与服务器ID相同。 每当从特定线程收到请求时,它都有一个ID。
你会得到它Thread.currentThread()的getId();
这对每个客户来说都是独一无二的。所以我保存它并使用它来检测我应该回复哪个线程。
感谢大家的支持。