欢迎光临虹猫学园
IT实战型人才培养基地
免费咨询电话:0731-83870039
当前位置:网站首页 > IT知识库 > JAVA >

虹猫云课堂:基于TCP实现网络聊天室

虹猫云课堂:基于TCP实现网络聊天室

虹猫学园教学:刘老师

一.TCP编程

TCP连接时面向连接,可靠的,有序的,以字节流的方式发送数据。

*基于TCP协议实现网络的类:

客户端的Socket类

服务的ServerSocket类

 

*TCP通信过程:

1.客户端创建Socket通信对象,指定服务器的IP地址和顿口号;

2.获取Socket输出流对象OutputSteam,并且发送请求信息;

3.服务器通过accpet()方法侦听客户端的连接,当侦听到客户端的连接时,则获取相应的Socket对象;

4.客户端获取输入流对象,读取请求信息;

5.客户端获取输出流对象,响应信息;6.关闭socket释放相关资源。

 

二.多线程

如果在一个进程中同时运行了多个线程,用来完成不同的工作,则称之为“多线程”。

多个线程交替占用CPU资源,而非真正的并行执行

*多线程的实现方式:

-1.继承java.lang.Thread类

-2.实现java.lang.Runnable接口

 

*案例分析:

1.服务器接收某个客户端的请求同时,也要求能接收其他客户端请求。

服务器使用多线程,实现线程多开。

类似于10086客服的原理。

 

2.要实现本地主机,客户端多开,则使用多线程。

 

3.客户端发送信息和接收信息要互补影响,则发现信息一个线程,接收信息一个线程,接收信息和发送信息交替占用CPU资源。

 

4.实现群聊,服务器实现信息转发给所有的客户端,则需要定义一个集合保存所有的Socket对象,并且需要考虑线程安全。

重点代码展示






文章来源:虹猫学园   www.hongmaoxueyuan.com

在线咨询