多线程服务器同时在两个客户端之间发送和接收数据

时间:2015-05-04 15:04:09

标签: java sockets

我需要的是一台服务器,它可以从任何客户端接收数据并将其发送到任何其他连接的客户端。我在互联网上寻求帮助,但我尝试的一切都失败了。

我需要服务器在单个端口上运行。我需要它能够以这种格式发送字符串:ID:XPOS:ZPOS:ROTATION:ECT例如256:56:88:90:Steve。然后我需要其他客户端接收它并拆分它。

服务器需要进行线程化,以便它可以支持多个客户端。

1 个答案:

答案 0 :(得分:2)

我设法用FaceDetector::FaceDetector(std::string stdFileName) { cv::CascadeClassifier face_cascade; const char* x = stdFileName.c_str(); face_cascade.load(x); LOGD("String value %s",x); if (!face_cascade.empty()) { LOGD("Xml loaded Successfully"); } else { LOGD("XML not LOADED"); } } 来做到这一点。虽然这不是最好的解决方案,BlockingQueue可以更好地扩展,但我认为它适用于大约50个客户端。

您可以为每个客户端创建一个线程,在该线程中您有一个等待队列从中获取项目的无限循环。当队列为空时,所有客户端线程都被阻塞,因此没有繁忙的等待。每当需要广播消息时,将其添加到客户端的消息队列中。

java.nio