例如,如果我尝试在服务器程序上构建一个文件传输机制,通过利用他们自己现有的连接套接字从发送者A到用户B敲打一个文件字节,那么如何避免它与所有正在进行的聊天交错流进来,即保持清除等待并通知这两个线程除了在服务器端创建额外的serversocket ...
非常感谢 千电子伏
答案 0 :(得分:3)
为您的应用创建一个消息协议,区分各种消息类型。然后创建一个“文件块”消息和一个“聊天”消息以及您需要的任何其他消息。
伪代码:
// sending method
public synchronized void send(Message msg) {
// write message to socket ...
}
// receiving method
while(true) {
Message msg = readMessage(); // read message from socket
handleMessage(msg); // may want to push this work to another thread
}