热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

针对于tcp简单socket的聊天

代码展示1监听线程packageTcpChat;importjava.io.BufferedReader;importjava.io.IOException;importjav

代码展示

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();}}}}
}

 

转:https://www.cnblogs.com/weidan/archive/2012/12/08/2808833.html



推荐阅读
author-avatar
尹琢抵
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有