TCP多線程通信
怎樣實(shí)現(xiàn)服務(wù)器把各客戶機(jī)發(fā)來的信息讀出來再分發(fā)給其它客戶端?服務(wù)器的讀出來的信息要進(jìn)行如何處理才能發(fā)送給客戶端,是的客戶端正確讀?。?/p>
怎樣實(shí)現(xiàn)服務(wù)器把各客戶機(jī)發(fā)來的信息讀出來再分發(fā)給其它客戶端?服務(wù)器的讀出來的信息要進(jìn)行如何處理才能發(fā)送給客戶端,是的客戶端正確讀?。?/p>
2016-12-07
舉報(bào)
2018-05-02
//新建一個類。將類單例化。類中生命一個Vector<socket>? 再添加
public class ChatManager {
private ChatManager(){}
private static final ChatManager cm = new ChatManager();
public static ChatManager getChatManager() {
return cm;
}
Vector<Socket> vector = new Vector<Socket>();
public void add(Socket s) {
vector.add(s);
}
public void remove(Socket cs) {
vector.remove(s);
}
public void publish(Socket s,String out) {
for (int i = 0; i < vector.size(); i++) {
Socket ChatSocket = vector.get(i);
if (!s.equals(ChatSocket)) {
? ??ChatSocket.getOutputStream().write((out+"\n").getBytes("UTF-8"));
}
}
}
}