0
我有一個問題,我學會了如何與插座的工作,我寫與下面的代碼PROGRAMM:的Java,Socket和傳輸文本
import java.net.*;
import java.io.*;
import java.util.*;
public class Client extends Thread{
public static void main(String args[])
{
try
{
Socket s = new Socket(args[0],Integer.parseInt(args[1]));
BufferedReader br=new BufferedReader(new InputStreamReader(System.in,"CP866"));
String str;
str=br.readLine();
str = str+"\n"+s.getInetAddress().getHostAddress()
+":"+s.getLocalPort();
PrintWriter pw = new PrintWriter(new OutputStreamWriter(s.getOutputStream()));
pw.println(str);
pw.flush();
while(true){
str=null;
if((str=br.readLine())==null)
break;
str = str+"\n"+s.getInetAddress().getHostAddress()
+":"+s.getLocalPort();
System.out.println(str);
pw.print(str);
pw.flush();
}
}
catch(Exception e)
{System.out.println("init error: "+e);}
}
}
PROGRAMM服務器端只打印獲得的消息,第一條消息正常打印,但下一條消息打印格式爲:,當我切25-26行時 - 消息未發送或未獲得。
爲什麼?
您可以構建PrintWriter的是這樣的:新的PrintWriter(...,真); True表示自動沖洗。這非常方便。 – 2010-03-07 11:02:15
謝謝,我知道但是當我用socket解決問題時,我沒有想到寫任何東西=) – 2010-03-07 11:36:38