我对套接字很陌生,希望有人能帮助我。我有一些工作,但它没有很快发送信息,所以我已经重构,现在无法恢复任何工作。问题似乎是只有第一条发布的消息被读取,然后接收者坐在上面,client = listener.accept();
即使我很确定发送者仍在发送消息
谁能看到我在这里可能做错了什么?
谢谢
public class Sender {
Socket server = null;
DataInputStream inp = null;
PrintStream outp = null;
public Sender(){
server = new Socket("127.0.0.1" , 3456);
outp = new PrintStream(server.getOutputStream());
}
private void connectAndSendToServer(String message) {
outp = new PrintStream(server.getOutputStream());
outp.print(message + "\n");
outp.flush();
}
}
接收器类
public class Receive{
public String receiveMessage(int port) {
String message= null;
ServerSocket listener = null;
Socket client = null;
try{
listener = new ServerSocket(port);
client = listener.accept();
BufferedReader br = new BufferedReader(new InputStreamReader(client.getInputStream()));
return br.readLine();
}
...
finally{
try {
if(client!=null && listener!=null){
client.close();
listener.close();
}
}
catch (IOException e) {
}
}
return message;
}
}