Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中实现TCP的三方握手_Java_Tcp_Handshake - Fatal编程技术网

在Java中实现TCP的三方握手

在Java中实现TCP的三方握手,java,tcp,handshake,Java,Tcp,Handshake,我想用Java实现TCP协议。我已经阅读了Sun文档和示例,但它们都只是打开一个套接字,客户机等待服务器接受连接,然后发送数据 我想知道如何使用Java实现三方握手和数据验证?服务器和客户端如何交换序列号?Java是否提供任何类/方法(或至少接口)来实现三方握手 有人能给我一些想法,或链接到一些例子吗 提前感谢,您无法在Java中实现TCP,因为您无法直接访问IP层。Java允许您在传输层(TCP、UDP)工作,但不能在网络层(IP)工作 注意,我指的是“标准”Java,带有标准Java运行时库

我想用Java实现TCP协议。我已经阅读了Sun文档和示例,但它们都只是打开一个套接字,客户机等待服务器接受连接,然后发送数据

我想知道如何使用Java实现三方握手和数据验证?服务器和客户端如何交换序列号?Java是否提供任何类/方法(或至少接口)来实现三方握手

有人能给我一些想法,或链接到一些例子吗


提前感谢,

您无法在Java中实现TCP,因为您无法直接访问IP层。Java允许您在传输层(TCP、UDP)工作,但不能在网络层(IP)工作

注意,我指的是“标准”Java,带有标准Java运行时库。有一些系统(通常是嵌入式系统)使用Java实现所有功能,甚至设备驱动程序级别。我想这不是您想要的,但为了以防万一,这里有一个链接,指向用Java编写的用于嵌入式系统的完整TCP/IP堆栈:


Sun JDK中没有“原始”套接字。您可以访问TCP或UDP或在TCP/UDP之上实现的任何应用程序级协议。仅限。

您的问题并不完全清楚(请参阅其他答案,告知您无法在java中实现TCP)


但是,看起来您想要的是在TCP上实现一个协议。在这种情况下,您到目前为止看到的信息是一个很好的起点。一旦理解了通信,就可以开始实施协议

做这些事情,当您在协议级别遇到问题时,发布您的问题(带有代码),然后获得帮助。

TCP已经为您完成了所有握手和序列号的工作。您所要做的就是在客户端创建一个套接字,在服务器上创建一个ServerSocket,并接受来自ServerSocket的连接。您不必实现TCP。完成了。不久前;-)

是的,这是可能的。您可以使用类似JPCap的库访问Java中的IP层。TCP实现的其余部分可以由您构建。这当然是一项不平凡的任务。

你应该做的第一件事是接受你之前问题的一些答案。人们并不热衷于回答那些他们没有收到道具的问题。谢谢你的提醒。我不知道系统是如何工作的:(对不起,谢谢大家的回复。我发现我需要解决的问题是在一个特定的模拟器上工作。所以,我正在阅读该模拟器的规范和API。但无论如何,谢谢大家。