向高手们请教下SocketClient读取服务器端信息的问题

来源:百度知道 编辑:UC知道 时间:2024/04/29 01:17:12
初次接触Socket,我在客户端写一段代码接收服务器端消息,但是接收消息就是不成功,能否指点下

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