java socket编程实现聊天程序_基于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端,否则:

eb0165237d256f33759e196efb825714.png

好啦,先起S端:

6c0c2062b3ccf6fd28691f6b787fe585.png

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

244f984e2754bbe96794b1e090b28b28.png

接着起C端:

412c8d657a9ae3ae7e94065faac335d8.png

S端也会有响应:

baea40a139f86671c230b78a7902c9cd.png

然后C端发消息:

fe734f1d13c7343f4a967db419be02dd.png

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

2af13556b2b8441f025d9a3e6d04598f.png

到此这篇关于基于Java的Socket编写的C/S聊天程序实现的文章就介绍到这了,更多相关Java Socket C/S聊天内容请搜索聚米学院以前的文章或继续浏览下面的相关文章希望大家以后多多支持聚米学院!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值