根据上回我自己写的关于UDP传输协议还剩组播和广播没有实现,我们先放放今天我们先来实现一下TCP传输协议。我们都知道QQ他是一个聊天软件,它自身是UDP协议为主TCP协议为辅的一个软件,我给大家主要对这两个协议进行简单的实现,就是单发单收也可以实现各一边的收和发。
我们要知道在java上实现TCP就要用到Socket(java.net.Socket)类实现通信,它的底层即是使用TCP协议,所有我们必须使用Socket类。
我们先实现客户端的代码:
注:TCP协议的客户端通信管道我们要把变成一个字节输出流管道,这样子我们就可以实现对服务端的发送数据,这里玩进行了包装,把OutputStream包装成PrintStream来实现一行一行的写入。
服务端的代码:
注:在服务端我们必须使用ServerSocket来创建客户端指定的端口,不然我们无法与客户端进行连接。API中提供了客户端和服务端的写和读方法,我这里给它进行包装是因为包装后的类更好使用大家也可以使用别的输入输出的类。如下代码我们就可以实现TCP协议的简单的写和读
TCP的通信方式大概是这个样子
上诉是我对TCP协议的简单的了解,如果要实现像QQ一样的聊天可能我还需要加上线程来实现。