向高手们请教下SocketClient读取服务器端信息的问题
来源:百度知道 编辑:UC知道 时间:2024/04/29 01:17:12
Socket clientSocket1 = new Socket("XXXXX", 9999);
// step 2 需要输入和输出流
PrintWriter outbound = new PrintWriter(new BufferedWriter(new OutputStreamWriter(clientSocket.getOutputStream())));
BufferedReader inbound = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
// step 3 向服务器发出请求
outbound.write(str);
outbound.flush();
// step 4 读出回应
String responseLine = "";
// 问题就出再这里
while ( (responseLine = inbound.readLine())!=null ) {
// 把每一行显示出来
System.out.println("recevied from socket server : "+ responseLine);
this.result = responseLine;
if (responseLine.indexOf("") != -1)
break;
}
// step 5 关闭socket
outbound.close();
inbound.close();
clientSocket.close();
我写的,你自己去看吧,要用到的类你自己去导入
Client如下:
class clientdemo{
public static void main(String args[]){
InputStream i=null;
InputStreamReader ir=null;
BufferedReader buf=null;
BufferedReader sbuf=null;
PrintWriter p=null;
Socket client=null;
try{
client=new Socket("127.0.0.1",3000);
i=System.in;
ir=new InputStreamReader(i);
buf=new BufferedReader(ir);
sbuf=new BufferedReader(new InputStreamReader(client.getInputStream()));
p=new PrintWriter(client.getOutputStream());
String msg=null;
msg=buf.readLine();
while(!msg.equals("88")){
p.println(msg);
p.flush();
System.out.println("Server:"+sbuf.readLine());
msg=buf.readLine();
}
}
catch(IOException e){
System.out.println("2");
}
finally{
try{buf.close();
sbuf