java网络编程--TCP程序设计
一,本章目标
了解Socket和ServerSocker类的作用
掌握ECHO程序开发
将多线程应用在TCP程序上实现多用户操作
二,具体内容
在java网络程序中,客户端只要符合连接的通讯协议,那么服务器都可以接受。
此时编写完服务器端之后,可以直接通过telnet命令测试。
一般开发中不能使用telent命令直接连接服务器,可以编写客户端。
编写的时候主要使用Socket类,实例化Socket类也要制定服务器的主机地址和端口号。
此时一个客户端就完成了,可以发现,以上的程序需要编写两套代码才可以完成网络程序开发,实际上这是C/S架构,服务器/客户端,需要同时维护两套代码
另外一套架构:B/S,浏览器/服务器,web开发会接触,这种代码只需要维护一次。
当客户端没有输入信息,或者输入bye的时候就结束输入,需要结束当前的客户端操作。EshoServer应该可以一直接受客户端和请求,而不是像最早那样只能接受一次就完了,而且要不断地接受一个客户端发送的数据。
服务器端口:
客户端:
此时程序仍然有问题:服务器端只能处理一个请求,如果想要服务器可以同时处理多个请求,那么要采用多线程,每一个请求开一个线程,修改如下:
服务器类:
线程类:
三,总结
了解TCP程序开发
了解ECHO程序的开发思路
了解多线程在实际开发中的作用