Java的udp_DatagramSocket.connect()_做什么?

What does Java#39;s UDP _DatagramSocket.connect()_ do?(Java的udp_DatagramSocket.connect()_做什么?)

本文介绍了Java的udp_DatagramSocket.connect()_做什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我最近看了关于Java的UDP API的一个小教程,并且研究了DatagramSocketDatagramPacket类的javadoc。类DatagramSocket包含多个connect()和一个disconnect()方法。但是UDP不是没有连接的协议吗?

这两个connectdisconnect方法有什么作用?

从"href="http://docs.oracle.com/javase/7/docs/api/java/net/DatagramSocket.html#connect(java.net.InetAddress,%20int)"的rel="noreferrer">DatagramSocket#connect(InetAddress地址的推荐答案, int port):

将套接字连接到此套接字的远程地址。当套接字连接到远程地址时,只能向该地址发送数据包或从该地址接收数据包。默认情况下不连接数据报套接字。

.

连接套接字时,receivesend将不会对传入和传出的数据包执行任何安全检查,只会匹配数据包和套接字的地址和端口。在发送操作中,如果设置了数据包的地址,并且数据包的地址和套接字的地址不匹配,则将抛出IllegalArgumentException。连接到多播地址的套接字只能用于发送数据包。

因此,它实际上不是一种与TCP建立"连接"相同的方式,而是一种阻止向/从其他地址发送或接收数据包的方式。

这篇关于Java的udp_DatagramSocket.connect()_做什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:Java的udp_DatagramSocket.connect()_做什么?

基础教程推荐