基于Java的Socket编写的C/S聊天程序实现
一个很久以前写的能够支持C/S模式聊天的Demo,利用Java的Socket写的。
只能聊一句就下线,挺low的。
服务器端程序Server
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class TestTcpServer {
public static void main(String[] args) {
ServerSocket ss = null;
BufferedReader in = null;
try {
ss = new ServerSocket(8888);
System.out.println("服务器启动");
Socket socket = ss.accept();
System.out.println("连接建立");
System.out.println(socket.getInetAddress().getHostAddress());
//服务器接收客户端发送的数据
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String clientContent = in.readLine();
System.out.println("接收客户端消息: " +clientContent);
} catch (IOException e) {
e.printStackTrace();
}
}
}
客户端程序Clinet
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;
public class TestTcpClient {
public static void main(String[] args) {
Socket socket = null;
BufferedWriter out = null;
//客户端发送数据,服务器端接收
try {
socket = new Socket("127.0.0.1",8888);
System.out.println("与服务器连接了");
Scanner sc = new Scanner(System.in);
String content = sc.nextLine();
out = new BufferedWriter((new OutputStreamWriter(socket.getOutputStream())));
out.write(content);
out.flush();
sc.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally{
try {
out.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
运行样例
注意要先起S端,否则:

好啦,先起S端:

然后S端就在等待,它“说话”也没人理它:

接着起C端:

S端也会有响应:

然后C端发消息:

S端收到消息,就双双Over了:

到此这篇关于基于Java的Socket编写的C/S聊天程序实现的文章就介绍到这了,更多相关Java Socket C/S聊天内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
- Java单线程程序实现实现简单聊天功能
- JAVA Netty实现聊天室+私聊功能的示例代码
- java基于netty NIO的简单聊天室的实现
- 基于Java的Socket多客户端Client-Server聊天程序的实现
- Java使用TCP实现在线聊天的示例代码
- 基于java socket实现 聊天小程序
- Java NIO实战之聊天室功能详解
- Java SE实现多人聊天室功能
- java基于C/S结构实现多线程聊天室
- java基于C/S模式实现聊天程序(服务器)
- java基于C/S模式实现聊天程序(客户端)
- java使用MulticastSocket实现基于广播的多人聊天室
- Java 网络编程之 TCP 实现简单的聊天系统
相关文章
SpringBoot部署到Linux读取resources下的文件及遇到的坑
本文主要给大家介绍SpringBoot部署到Linux读取resources下的文件,在平时业务开发过程中,很多朋友在获取到文件内容乱码或者文件读取不到的问题,今天给大家分享小编遇到的坑及处理方案,感兴趣的朋友跟随小编一起看看吧2021-06-06
Java中@JSONField和@JsonProperty注解的用法及区别详解
@JsonProperty和@JSONField注解都是为了解决obj转json字符串的时候,将java bean的属性名替换成目标属性名,下面这篇文章主要给大家介绍了关于Java中@JSONField和@JsonProperty注解的用法及区别的相关资料,需要的朋友可以参考下2024-06-06
Java中@ConfigurationProperties实现自定义配置绑定问题分析
这篇文章主要介绍了@ConfigurationProperties实现自定义配置绑定问题,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2021-08-08
Springboot集成Spring Security实现JWT认证的步骤详解
这篇文章主要介绍了Springboot集成Spring Security实现JWT认证的步骤详解,帮助大家更好的理解和使用springboot,感兴趣的朋友可以了解下2021-02-02


最新评论