java网络编程--TCP程序设计

一,本章目标

了解Socket和ServerSocker类的作用

掌握ECHO程序开发

将多线程应用在TCP程序上实现多用户操作


二,具体内容

java网络编程--TCP程序设计

在java网络程序中,客户端只要符合连接的通讯协议,那么服务器都可以接受。

java网络编程--TCP程序设计

java网络编程--TCP程序设计

java网络编程--TCP程序设计

java网络编程--TCP程序设计

java网络编程--TCP程序设计

此时编写完服务器端之后,可以直接通过telnet命令测试。

java网络编程--TCP程序设计

一般开发中不能使用telent命令直接连接服务器,可以编写客户端。

编写的时候主要使用Socket类,实例化Socket类也要制定服务器的主机地址和端口号。

java网络编程--TCP程序设计

此时一个客户端就完成了,可以发现,以上的程序需要编写两套代码才可以完成网络程序开发,实际上这是C/S架构,服务器/客户端,需要同时维护两套代码

另外一套架构:B/S,浏览器/服务器,web开发会接触,这种代码只需要维护一次。


java网络编程--TCP程序设计

当客户端没有输入信息,或者输入bye的时候就结束输入,需要结束当前的客户端操作。EshoServer应该可以一直接受客户端和请求,而不是像最早那样只能接受一次就完了,而且要不断地接受一个客户端发送的数据。

服务器端口:

java网络编程--TCP程序设计

客户端:

java网络编程--TCP程序设计


此时程序仍然有问题:服务器端只能处理一个请求,如果想要服务器可以同时处理多个请求,那么要采用多线程,每一个请求开一个线程,修改如下:

服务器类:

java网络编程--TCP程序设计

线程类:

java网络编程--TCP程序设计java网络编程--TCP程序设计


三,总结

了解TCP程序开发

了解ECHO程序的开发思路

了解多线程在实际开发中的作用