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