【问题标题】:Regarding Transport layer protocols implementation in java关于java中的传输层协议实现
【发布时间】:2015-08-14 03:01:02
【问题描述】:

java中有无连接可靠的协议实现吗?除了套接字、数据报或 Socketchannels(在 NIO 中)之外,我想知道是否存在任何可以提供像这里描述的协议实现的库:-
https://en.wikipedia.org/wiki/Reliable_User_Datagram_Protocol

或者有什么方法可以在传统套接字上编写一个包装器,使它们无连接,但同时保留所有 TCP 属性,除了 3 次握手。

【问题讨论】:

    标签: java sockets tcp network-programming udp


    【解决方案1】:

    我想这就是你要找的东西:

    Mobile Reliable UDP (MR-UDP)

    这是 MR-UDP 的 Hello World 示例:

    服务器

    import java.io.*;
    import java.net.*;
    import net.rudp.*;
    
    public class HelloServer {
    
      public static void main(String[] args) throws Exception {
        int port = 10341;
    
        ReliableServerSocket serverSocket = new ReliableServerSocket(port);
        Socket connectionSocket = serverSocket.accept();
        InputStreamReader inputStream = new InputStreamReader(connectionSocket.getInputStream());
        BufferedReader buffReader = new BufferedReader(inputStream);
    
        System.out.println(buffReader.readLine());
    
        serverSocket.close();
      }
    }
    

    客户

    import java.io.*;
    import java.net.*;
    import net.rudp.*;
    
    public class HelloClient {
    
      public static void main(String[] args) throws Exception {
        String host = "127.0.0.1";
        int port = 10341;
    
        ReliableSocket clientSocket = new ReliableSocket(host, port);
        ReliableSocketOutputStream outputStream = (ReliableSocketOutputStream) clientSocket.getOutputStream();
        PrintWriter outputBuffer = new PrintWriter(outputStream);
    
        outputBuffer.println("Hello World MR-UDP!");
        outputBuffer.flush();
    
        clientSocket.close();
      }
    }
    

    此外,在GitHub 上的快速搜索显示了一些关于 RUDP 的项目,例如:

    【讨论】:

      猜你喜欢
      • 2016-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-14
      • 2015-02-22
      • 2011-02-17
      • 1970-01-01
      相关资源
      最近更新 更多