首页 文章

在Java中实现TCP的3路握手

提问于
浏览
1

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

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

有人可以给我一些想法,或链接到一些例子?

提前致谢,

5 回答

  • 0

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

    请注意,我指的是标准Java运行时库的“标准”Java . 有一些系统(通常是嵌入式系统)使用Java来处理所有事情,直到设备驱动程序级别 . 我想这不是你想要的,但为了以防万一,这里是一个链接到用Java编写的嵌入式系统的完整TCP / IP堆栈:

    http://www.jopdesign.com/ejip/index.jsp

  • 0

    对的,这是可能的 . 您可以使用JPCap等库访问Java中的IP层 . TCP实现的其余部分可以由您构建 . 这当然是一项非常重要的任务 .

  • 1

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

  • 1

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

    但是,您想要的是通过TCP实现协议 . 在这种情况下,您目前看到的信息是一个很好的起点 . 了解通信后,您就可以开始实施协议了 .

    做这些事情,当你在协议级别遇到问题时,发布你的问题(用代码)然后得到帮助 .

  • 0

    TCP已经为您完成了所有握手和序列号的操作 . 您所要做的就是在客户端创建一个Socket,在服务器上创建一个ServerSocket,并接受来自ServerSocket的连接 . 您不必实施TCP . 完成 . 前一段时间 ;-)

相关问题