Java基于Tcp的基础聊天功能实例

  

本文实例讲述了Java基于Tcp的基础聊天功能。分享给大家供大家参考,具体如下:

  

最基础的聊的天,用户端和服务器端每次说一句,而且严格规定了先后到顺序。

  

服务器端:

        进口. io . *;   进口java.net。*;   公开课ChatServer {   公共静态void main (String [] args) {   考察一下服务器=零;   尝试{   服务器=考察(12138);   }捕捉(IOException e) {   system . out。println(“错误”+ e);   }//服务器=零;   尝试{   套接字ac=零;//ac=新的套接字();//ac=零;   ac=server.accept ();   BufferedReader=零;   是=new BufferedReader(新InputStreamReader (ac.getInputStream ()));   BufferedReader说=new BufferedReader(新InputStreamReader(系统));   PrintWriter os=new PrintWriter (ac.getOutputStream ());   字符串行=零;   system . out。println (“clinent”+ is.readLine ());   行=dis.readLine ();   而(! line.equals(省长)){   os.println(线);   os.flush ();   system . out。println(“服务器”+线);   system . out。println(“客户端”+ is.readLine ());   行=dis.readLine ();   }   os.close ();   dis.close ();   is.close ();   ac.close ();   }捕捉(异常e) {   system . out。println(“错误”+ e);   }   }   }      之前      

用户端:

        公开课ChatClient {   公共静态void main (String [] args) {   套接字客户=零;   尝试{   客户=新的套接字(127.0.0.1,12138);   BufferedReader说=new BufferedReader(新InputStreamReader(系统));   BufferedReader=new BufferedReader(新InputStreamReader (client.getInputStream ()));   PrintWriter os=new PrintWriter (client.getOutputStream ());   字符串行=dis.readLine ();   而(! line.equals(省长)){   os.println(线);   os.flush ();   system . out。println(“客户端”+线);   system . out。println(“服务器”+ is.readLine ());   行=is.readLine ();   }   os.close ();   dis.close ();   is.close ();   client.close ();   }捕捉(异常e) {   system . out。println(“错误”+ e);   }   }   }      之前      

无论是用户端还是服务器端都用了BufferedReader用来写入一些了连续的字符串,用PrintWriter进行输出。

  

<强>注: BufferedWriter接收到的参数需要是字符类的数据流,所以要建一个inputStreamReader,而inputStreamReader的参数是数据流即可。

  

上面规定了写入的顺序是客户端先写,然后是服务器端;

  

注意要在循环结束的时候近个个数据流和端口。

  

更多关于java相关内容感兴趣的读者可查看本站专题:《java Socket编程技巧总结》,《java文件与目录操作技巧汇总》、《java数据结构与算法教程》、《java操作DOM节点技巧总结》和《java缓存操作技巧汇总》

  

希望本文所述对大家java程序设计有所帮助。

Java基于Tcp的基础聊天功能实例