android处理使用套接字连接到服务器的多个客户端

时间:2014-06-18 15:11:58

标签: android sockets serversocket

我有一个需要让多个套接字通信的Android应用。这是基本的工作:

我的应用程序(Say Server)是一个将作为服务器套接字运行的服务。其他应用程序可以在预定义的端口上连接它。可以有多个连接,例如客户端1,客户端2。

因此,当客户端1发送问候语时,服务器将处理此问题,并应将回复发送回客户端1。

目前我能够为客户端1和客户端2连接服务器。我已经创建了输入,输出缓冲区。但我不确定服务器将如何检测它已收到"你好"。

我指的是这个例子,但仍然不清楚如何使用该解决方案:

How can I handle multiple clients connected to a server using sockets?

2 个答案:

答案 0 :(得分:0)

ServerSocket.accept()调用在服务器端创建连接,返回一个套接字。每次接受调用都将创建一个新的Socket,用于与该特定客户端进行通信。所以无论Socket发送什么输入都是需要响应的Socket。

答案 1 :(得分:0)

首先,我尝试在建立新连接时检查线程ID,但它与服务器ID相同。 每当从特定线程收到请求时,它都有一个ID。

你会得到它

Thread.currentThread()的getId();

这对每个客户来说都是独一无二的。所以我保存它并使用它来检测我应该回复哪个线程。

感谢大家的支持。