首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

大家帮忙看看这段聊天程序,该如何解决

2012-02-26 
大家帮忙看看这段聊天程序importjava.io.*importjava.net.*publicclassTestClient{publicstaticvoidmain

大家帮忙看看这段聊天程序
import   java.io.*;
import   java.net.*;
public   class   TestClient    
{
public   static   void   main(String[]   args)  
{
try
{
Socket   socket   =   new   Socket( "192.168.0.13 ",8000);

System.out.println( "服务IP地址---> "+socket);


InputStream   input   =   socket.getInputStream();

OutputStream   output   =     socket.getOutputStream();

BufferedReader   buffer   =   new   BufferedReader(new   InputStreamReader(input));

PrintWriter   print   =   new   PrintWriter(output);

BufferedReader   buffer_line   =   new   BufferedReader(new   InputStreamReader(System.in));

String   s   =   buffer_line.readLine();

while(true)
{
print.println(s);//把通过键盘输入的信息给服务端..

System.out.println( "客户端来的信息 "+s);

print.flush();//立刻给服务端

if   (s.equals( "quit "))
{
break;
}

System.out.println( "服务端发来的信息 "+buffer.readLine());

s   =   buffer_line.readLine();



}


buffer.close();
print.close();
socket.close();
}

catch(Exception   e)
{
e.printStackTrace();
}

}
}


import   java.io.*;
import   java.net.*;
public   class   TestServer  
{
public   static   void   main(String[]   args)  
{
try
{
ServerSocket   server     =   new   ServerSocket(8000);

Socket   socket   =   server.accept();

System.out.println( "kehuIP地址---> "   +   server);

InputStream   input   =   socket.getInputStream();

OutputStream   output   =     socket.getOutputStream();

BufferedReader   buffer   =   new   BufferedReader(new   InputStreamReader(input));

PrintWriter   print   =   new   PrintWriter(output);

BufferedReader   buffer_line   =   new   BufferedReader(new   InputStreamReader(System.in));

String   s   =   buffer_line.readLine();

while(true)
{
print.println(s);//把通过键盘输入的信息给服务端..

System.out.println( "服务端发来的信息 "+s);

print.flush();//立刻给服务端

if   (s.equals( "quit "))
{
break;
}

System.out.println( "客户发来的信息 "   +   buffer_line.readLine());

s   =   buffer_line.readLine();


 
buffer.close();
print.close();
}


socket.close();
}

catch(Exception   e)
{
e.printStackTrace();
}

}
}


有点不太明白getInputStream   getOutputStream

是不是客户端调用getOutputStream就是把客户端键盘输入的消息给服务端

那getInputStream又是怎么回事...
大家可运行一下我的程序

怎么服务端没有收到客户端的消息

有帮忙改的请加上点注释...


[解决办法]
inputstream是获得的
outputstream是输出的
------解决方案--------------------


getInputStream() //获取这个连接的输入流
getOutputStream() //获取这个连接的输出流

也就是说,Server端getInputStream() 获取的输入流上的数据,
就是客户端getOutputStream()获取输出流所发出的数据,

简单点说,服务器端的输入流就是客户端的输出流 是对应的

热点排行
Bad Request.