① TCP和UDP通信有什么区别 如何分别用java实现
TCP是面向连接,UDP面向非连接,资料不复制,在这里简单说下:
TCP建立连接时需要传说的三次握手,服务端与客户端需要确认对方身份而已,建立好连接后,就开始传递消息,直到有一方断开连接位置。 就好比两个人打电话,要先通了才能说话。
UDP只是数据报发送,它的优点速度快,并非要向TCP那样麻烦建立,它只负责将信息发出,但是并不确保信息的准确完整性等,就好比发短信,短信是出去了,但是中间是否有问题,是否对方手机能收到就不管了。
在java中想要实现上述两种协议通信,可采用socket建立连接,socket可以理解为码头,其实是套接字,这里简单说下,就好比两个城市运输货物,通过码头走货一样。至于如何通过socket建立两个连接,网上资料多的是,在这里不复制例子了。
② java中UDP通信,两边都怎么也接收不了,都是阻塞状态。
你要先运行UdpServer2,因为它是服务器
③ java和C#之间UDP通信问题
应该能收到消息,只是值不对吧?
你这样试试。
你 JAVA 发送消息的时候,将 byte 数组中的每个值都加 128 试试。
JAVA 和 C# 的在这部分的区别在,JAVA 的byte 取值范围是 -128 至 127,而 C# 的 byte 取值范围是 0 至 255。
或者 C# 接收到消息后,将数组中每个值都加 128 看看。
④ java中UDP文件传输怎么实现
java UDP连接,如果要发送文件的话,你只能自己定义一系列的协议
因为TCP UDP 双方发送都是二进制数据
那么这个实现非常复杂
得不停的发送数据,写数据,建议使用http协议