针对于tcp简单socket的聊天
2012-12-08 14:34
337 查看
代码展示
1 监听线程
客户端代码:
服务端代码:
1 监听线程
package TcpChat; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.Socket; public class MonitoringMessage extends Thread { private Socket socket; public Socket getSocket() { return socket; } public void setSocket(Socket socket) { this.socket = socket; } public MonitoringMessage(Socket socket) { super(); this.socket = socket; } public void run() { try { BufferedReader br = new BufferedReader(new InputStreamReader(this.socket.getInputStream())); while(true){//用死循环等待对方发送的消息 System.out.println(br.readLine()); } } catch (IOException e) { e.printStackTrace(); } } }
客户端代码:
package TcpChat; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.net.Socket; import java.net.UnknownHostException; public class ClientChat { public static void main(String[] args) { Socket socket = null; try { socket = new Socket("127.0.0.1",5431); PrintWriter out = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()),true); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); new MonitoringMessage(socket).start(); //监听发送过来的消息 while(true){ out.println(br.readLine()); } } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }finally{ if(null!=socket){ try { socket.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } }
服务端代码:
package TcpChat; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; public class ServiceChat { public static void main(String[] args) { ServerSocket serverSocket = null; Socket socket = null; try { serverSocket = new ServerSocket(5431); socket = serverSocket.accept(); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); PrintWriter out = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()),true); new MonitoringMessage(socket).start(); while(true){ out.println(br.readLine()); } } catch (IOException e) { e.printStackTrace(); }finally{ if(null!=socket){ try { socket.close(); } catch (IOException e) { e.printStackTrace(); } } if(null!=serverSocket){ try { serverSocket.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } }
相关文章推荐
- java用socket和serversocket实现一对一聊天(java实现简单的TCP聊天程序)
- 学习socket(一) TCP简单聊天程序
- Socket TCP【简单聊天实例】
- socket 编程 TCP 实现简单聊天功能【转】
- Socket TCP 简单聊天的实现
- socket 编程 TCP 实现简单聊天功能
- Socket UDP【简单聊天实例】
- 利用Tcp和socket实现的客户端与服务端的简单通信
- C# SOCKET编写的简单聊天通信程序(客户端+服务端)
- 异步TCP---简单聊天例子
- socket编程实现简单DNS协议实现获取域名ip(TCP)
- 简单socket通信过程(TCP)
- day23网络编程UDP,TCP。IP。DatagramSocket。DatagramPacket。聊天程序。TCP传输。文本转换服务器。
- 简单的多人聊天(C#.Socket)
- 【转】 C++ 简单的 Tcp 实现[socket] 客户端与客户端通信
- socket 简单聊天示例
- 简单的基于Socket的TCP编程实例
- java网络编程一:Socket用法,简单模拟一对一聊天
- vc socket tcp编程的简单实例
- Linux C TCPSocket 传输文件简单实例-多线程实现