日期:2014-05-18  浏览次数:21103 次

C# Udp Socket网络编程 (在线等)
要做个局域网通信的小东西,可有好多疑问。
有几个问题想不明白,问下大家。非常感谢。
1、UDPClient类和Socket类有什么区别,看别人说了很多,可就想不明白,再次问下。
2、使用UDPClient类通信时,是否要知道对方IP。
3、这是从别人提供的代码中的一句话,看不明白。
  //得到本机IP,设置端口号  
  IPEndPoint ipep = new IPEndPoint(IPAddress.Any , 8001);
  那个IPAddress.Any做什么用的。
4、两个用户要通信,怎么确定是要和对方通信,这个和第二个问题差不多吧。

C#还没有入门,好多理论的道理都没想明白,希望大家解释下,别打击我。

还没有什么没说清楚的我再补充。

再次感谢。


------解决方案--------------------
网上一堆堆的socket的
------解决方案--------------------
需要知道对方的IP
才能进行通信
------解决方案--------------------
连接和无连接只是说传输的数据包采用什么方式
对方的IP还是需要的,不然怎么通信,就跟邮局投递邮件一样,总要知道门牌号才能找到,才能把信件准确送到..
------解决方案--------------------
tcp是可靠的,需要确定数据顺利传输,而udp是不可靠的,把数据送出去就不管了
就跟一个是挂号信需要签名,表明送到,一个是平信,送出去就不管你能否收到,也许在门口信箱就别别人拿走了...
------解决方案--------------------
第三个问题:IPAddress.Any表明不是针对某一固定ip监听,而是对网络上的虽有ip都是开放的
第四个问题:服务器端有监听,客户端知道服务器IP后发送连接请求,服务器端通过请求,连接之后,就可以互通信息了

------解决方案--------------------
socket可以选择多种协议进行传输,包括tcp,udp,ftp
这里的UDPClient其实就是一个指定了使用udp协议的socket客户端而已,是socket使用的一种方式之一
------解决方案--------------------
Udp的广播模式下不需要知道对方的IP,指定IPAddress.Any就可以了,等于是一个在网络上发udp数据包,任何节点都可以接收。
UdpClient是包装了socket的udp同步方式,简化了程序的编写,但是如果要用udp异步操作,就得用socket,因为udpclient不支持。这是我知道的udpclient和socket的主要区别。

------解决方案--------------------
帮顶