TCP是一种基于连接的通信协议,必须要进行连接才能通信。
本人虽然只是一个大一的学生,这个学期刚刚学完Java,但是本人对Java有着极大的学习兴趣和热情,各种寻找资源提升自己的实力。这不,刚刚看完毕向东老师的网络编程教学视频,自己动脑想了这个项目,并动手实现了这个项目,还是感到挺开心的。
现在,我来展示一个我自己写的一个基于TCP协议的Java服务器与多个客户端聊天程序。(各位放心,我注释写的非常详细,但愿不要嫌我啰嗦就好)
客户端代码如下:
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import java.net.*;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author flying duck
*/
/**
*服务器与一个或多个客户端聊天,客户端设计思路:
* 1、创建客户端Socket对象,指定要连接的服务器IP和端口号。
* 2、建立连接后,通过Socket的方法获取网络IO流。
* 3、通过事件监听机制把文本框中的消息打包成字节数组,通过网络输出流写到网络中,由服务器读入。
* 4、事先开启一个线程,通过网络输入流,接收来自服务器的消息,并显示在聊天文本区域。
* 5、当聊天窗口关闭时,断开与服务器的连接。
*
*/
public class ClientFrame extends JFrame implements ActionListener,Runnable{ //客户端聊天窗口,实现两个接口,作为动作事件侦听器和线程任务类。
Socket soc; //客户端套接字。
<