欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

基于Java的Socket编写的C/S聊天程序实现

时间:2021-03-08 11:36:35|栏目:JAVA代码|点击:

一个很久以前写的能够支持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控制台实现可视化日历小程序

栏    目:JAVA代码

下一篇:Java数据结构之简单链表的定义与实现方法示例

本文标题:基于Java的Socket编写的C/S聊天程序实现

本文地址:http://www.codeinn.net/misctech/76510.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有