java 使用TCP实现单聊的功能。(客户端和服务端聊天)
来源:互联网 发布:怎么复制淘宝上的图片 编辑:程序博客网 时间:2024/05/16 08:45
需求:
使用TCP实现单聊的功能。(客户端和服务端聊天)
代码:
package com.hcq.main2;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.OutputStreamWriter;import java.io.PrintWriter;import java.net.Inet4Address;import java.net.InetAddress;import java.net.Socket;import java.net.UnknownHostException;import com.hcq.main2.Server.receiverMsg;import com.hcq.main2.Server.sendMsg;public class Client {/** * 使用TCP实现单聊的功能。(客户端和服务端聊天) * * @param args */public static void main(String[] args) {try {System.out.println("创建客户端,并连接服务端...");InetAddress byName = InetAddress.getByName("10.3.155.220");Socket socket = new Socket(byName, 9408);sendMsg sm = new sendMsg(socket);receiverMsg rm = new receiverMsg(socket);Thread t1 = new Thread(sm);Thread t2 = new Thread(rm);t1.start();t2.start();// socket.close();} catch (UnknownHostException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}// 客户端发送信息给服务器static class sendMsg implements Runnable {private Socket socket;private PrintWriter pw;public sendMsg(Socket socket) {super();this.socket = socket;}@Overridepublic void run() {try {pw = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()), true);while (true) {pw.println(InputUtils.inputStr("客户端说: "));}} catch (IOException e) {e.printStackTrace();}}}// 客户端接收服务器信息static class receiverMsg implements Runnable {private Socket socket;private String name;public receiverMsg(Socket socket) {super();this.socket = socket;this.name = socket.getInetAddress().getHostName();}@Overridepublic void run() {try {InputStream is = socket.getInputStream();InputStreamReader isr = new InputStreamReader(is);BufferedReader br = new BufferedReader(isr);while (true) {String readLine = br.readLine();if (readLine == null) {break;}System.out.println(name + " 说: " + readLine);}} catch (IOException e) {e.printStackTrace();}}}}
package com.hcq.main2;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.OutputStreamWriter;import java.io.PrintWriter;import java.net.InetAddress;import java.net.ServerSocket;import java.net.Socket;public class Server {public static void main(String[] args) {try {System.out.println("创建服务端...");ServerSocket serverSocket = new ServerSocket(9808);System.out.println("等待客户端连接...");// 连接成功,返回一个Socket:对客户端的描述Socket socket = serverSocket.accept();System.out.println("客户端已连接...");sendMsg sendMsg = new sendMsg(socket);receiverMsg receiverMsg = new receiverMsg(socket);Thread t1 = new Thread(sendMsg);Thread t2 = new Thread(receiverMsg);t1.start();t2.start();serverSocket.close();} catch (IOException e) {e.printStackTrace();}}// 服务器发送信息给客户端static class sendMsg implements Runnable {private Socket socket;private PrintWriter pw;public sendMsg(Socket socket) {super();this.socket = socket;}@Overridepublic void run() {try {OutputStream os = socket.getOutputStream();pw = new PrintWriter(new OutputStreamWriter(os), true);while (true) {pw.println(InputUtils.inputStr("服务器请说: "));}} catch (IOException e) {e.printStackTrace();}}}// 服务器接收客户端信息static class receiverMsg implements Runnable {private Socket socket;private String name;public receiverMsg(Socket socket) {super();this.socket = socket;this.name = socket.getInetAddress().getHostName();}@Overridepublic void run() {try {InputStream is = socket.getInputStream();BufferedReader br = new BufferedReader(new InputStreamReader(is));while (true) {String readLine = br.readLine();if (readLine == null) {break;}System.out.println(name + " 说: " + readLine);}} catch (IOException e) {e.printStackTrace();}}}}
package com.hcq.main2;import java.util.Scanner;public class InputUtils {// 接收输入字符串方法public static String inputStr(String tip) {System.out.println(tip);Scanner sc = new Scanner(System.in);return sc.next();}}
截图:
阅读全文
0 0
- java 使用TCP实现单聊的功能。(客户端和服务端聊天)
- Java TCP 客户端和服务端之间的使用
- TCP:客户端和服务端的使用实例
- Socket的实现,服务端和客户端(TCP)
- 聊天室的服务端和客户端实现多人聊天
- java聊天程序(包含服务端和客户端)
- Java简单实现TCP服务端和客户端通信
- 写一个Tomcat+Okhttp实现的聊天websocket聊天框架(一)-- 完成客户端和服务端的通信
- Java写的TCP聊天程序,服务端收不到客户端发送的数据
- java用socket和serversocket实现一对一聊天(java实现简单的TCP聊天程序)
- Android上实现TCP&UDP的客户端和服务端
- Socket TCP 协议实现服务端和客户端的简单通信
- XMLRPC 服务端和客户端的JAVA使用
- 基于TCP和UDP的聊天功能的实现
- 使用TCP/IP协议实现客户端和服务端全双工通信(转载)
- java TCP/IP实现简单的多人聊天功能
- Java基础---Java---网络编程---TCP的传输、客户端和服务端的互访、建立一个文本转换器、编写一个聊天程序
- 使用服务端和客户端两种方法 模拟网易邮箱实现全选,全不选的功能
- 滑动到底部再向上滑动就进入另一页的效果
- 一个程序员的爱情
- BFS 、DFS区别,详解
- 百度彩蛋
- android opencv3.0 jni 编译错误 undefined reference to `cvCvtColor'
- java 使用TCP实现单聊的功能。(客户端和服务端聊天)
- 数据结构-位运算
- 安卓非常实用的自动化测试工具 -- Monkey详细的说明
- 最短路径(paths)题解,,,水博客
- HYSBZ-1041 数学思维;GCD 的应用
- 2014年-12月 CCF-5 货物调度
- hdu 6148 数位dp
- 数据结构实验之图论四:迷宫探索
- 线程安全总结