我有個TCP套接字發送三行這樣在Java中沒有通過TCP接收所有消息?
out2.println("message1\n");
out2.println("message2\n");
out2.println("message3\n");
和另一TCO插座接收和顯示這樣
System.out.println(in.readLine());
System.out.println(in.readLine());
System.out.println(in.readLine());
但是這些消息僅在第一消息被收到並顯示,任何我發送之後不是。
編輯:這裏是代碼
private void buttonActionPerformed(java.awt.event.ActionEvent evt) {
try {
// TODO add your handling code here:
String ipAddress = ipTextArea.getText();
sourceSocket = new Socket(ipAddress,32323);
out = new PrintWriter(sourceSocket.getOutputStream(), true);
in = new BufferedReader(new InputStreamReader(sourceSocket.getInputStream()));
System.out.println(in.readLine());
System.out.println(in.readLine());
System.out.println(in.readLine());
} catch (UnknownHostException ex) {
Logger.getLogger(DESWashView.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(DESWashView.class.getName()).log(Level.SEVERE, null, ex);
}
}
cWashStations也從一個按鈕事件被稱爲:
public void cWashStations(){
Thread washThread = new Thread(){
@Override
public void run(){
try {
sSocket2 = new ServerSocket(32323);
Thread stationThread = new Thread(){
@Override
public void run(){
try {
washSocket = sSocket2.accept();
out2 = new PrintWriter(washSocket.getOutputStream(), true);
in2 = new BufferedReader(new InputStreamReader(washSocket.getInputStream()));
out2.println("hello from attendant3423\n\n");
out2.flush();
out2.println("hello from attendant3423\n\n");
out2.println("1");
while(running){
}
} catch (IOException ex) {
Logger.getLogger(DESAttendantView.class.getName()).log(Level.SEVERE, null, ex);
}
}
};
stationThread.start();
} catch (IOException ex) {
Logger.getLogger(DESAttendantView.class.getName()).log(Level.SEVERE, null, ex);
}
}
};
washThread.start();
}
你可以發佈你的代碼嗎? – 2010-03-31 18:16:42