1
我得到了一个使用java.net.DatagramSocket
类的Java应用程序,它使用UDP。我需要将它切换到TCP,是否有一个简单的方法来做到这一点,或者我是否需要重写整个应用程序?如果这是一个不好的问题,我很抱歉,但我只是从网络开始。将Java程序从UDP切换到TCP最简单的方法是什么?
我得到了一个使用java.net.DatagramSocket
类的Java应用程序,它使用UDP。我需要将它切换到TCP,是否有一个简单的方法来做到这一点,或者我是否需要重写整个应用程序?如果这是一个不好的问题,我很抱歉,但我只是从网络开始。将Java程序从UDP切换到TCP最简单的方法是什么?
是的,你将不得不改变你的代码,数据报套接字不能用于TCP,因为两者是完全不同的。与UDP不同,TCP是可靠的传输协议,因此通常握手是必要的。
对于TCP服务器
ServerSocket welcomeSocket = new ServerSocket(6789)
Socket connectionSocket = welcomeSocket.accept();
BufferedReader inFromClient =
new BufferedReader(new InputStreamReader(connectionSocket.getInputStream()));
DataOutputStream outToClient = new DataOutputStream(connectionSocket.getOutputStream());
clientmsg = inFromClient.readLine();
System.out.println("Received: " + clientmsg);
UDP和TCP操作上非常不同的原则。大多数情况下,您可以(低效地)通过TCP轻松地封装和传输UDP数据包,尽管您可能希望在较高的级别上进行跟踪连接。不过,我不得不问,为什么你要这样做呢? – doynax