TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议.
面向连接:服务器创建一个连接端口,客户端去连接服务器实现通信。
可靠的:tcp协议是是在连接成功之后才会发送数据,而基于UDP的协议是事先不会征求对方意见,直接将数据传送出去,因此TCP协议传输中,数据更可靠,更安全。
基于字节流:tcp协议中传递的信息是以流的形式传递的,在java中可通过inputstream来捕获,通过outputstream发送。
对于接收数据的时候出现假死的状态:
readLine()函数读取一行,结尾需要"\n"才能结束,不然会一直卡死在这里,因此大家在用printwriter的时候要print一个"\n",然后把printwriter flush掉。就不会假死了!
这样:pw.write("fuck you cient"); //send to server
pw.write("\n");
pw.flush();
在java中,tcp协议是已经封装好的类,可直接供用户使用。其中关键的两个类是
Socket类 ServerSocket类。
ServerSocket类用来创建服务器,具体用法请参照jdk文档。常用用法是
ServerSocket ss = new ServerSocket((int)port) //传入一个端口号,用户自定
Socket用于控制两端的连接,服务器的Socket可以和客户端的S