udp问题
目的:本机(192.9.100.146)端口6091,发送给本机6090接收,通讯udp
客户端代码;
private static readonly IPAddress add=IPAddress.Parse("192.9.100.146");
private const int po=6090;
private static void Send(String s)
{UdpClient sender=new UdpClient();
IPEndPoint dz=new IPEndPoint(add,po);
Console.WriteLine("发送消息:{0}",s);
byte[] bytes=Encoding.ASCII.GetBytes(s);
sender.Send(bytes,bytes.Length,dz);
}
问题1.这里的sender.Send(bytes,bytes.Length,dz); dz中机器是指接收端机器还是指本机的?
如果是接收端的,那么我如何指定端口发送呢?在这种不指定的发送中究竟计算机用了哪个端口?
服务器端代码:
private static readonly IPAddress add=IPAddress.Parse("192.9.100.146");
private const int po=6091;
private static void StartListener()
{
bool done=false;
UdpClient listener=new UdpClient();
IPEndPoint dz=new IPEndPoint(add, 6091);
listener.JoinMulticastGroup(add);
listener.Connect(dz);
while (!done)
{
Console.WriteLine("准备接收。。。");
byte[] bytes=listener.Receive(ref dz);
}
}
这里的dz,是指本地地址还是远程的?如果是远程的,那么如何规定用固定端口接收?
上面的程序为什么不能接收?
问题点数:100、回复次数:5Top
1 楼qing_zhou(轻舟)回复于 2005-04-03 16:12:42 得分 50
我只知道1中的dz是接受端,是不是由服务器端赋值的啊,在服务器端调用的时候。
2中也是远程的,服务器的发送端就是本身的接受端
我是这样理解的
不知道对不对Top
2 楼townee(townee)回复于 2005-04-03 16:27:24 得分 0
我只知道1中的dz是接受端,是不是由服务器端赋值的啊,在服务器端调用的时候。
接收端就是服务器端啊!
2中也是远程的,服务器的发送端就是本身的接受端
什么意思???Top
3 楼townee(townee)回复于 2005-04-04 09:06:48 得分 0
upTop
4 楼townee(townee)回复于 2005-04-04 09:57:29 得分 0
upTop
5 楼lucbesson(女娃哈哈)回复于 2005-04-16 05:56:11 得分 50
private const int po=6090;
IPEndPoint dz=new IPEndPoint(add,po);
你已经指定端口啦 。
SERVER和CLIENT你使用了不同的端口所以不能通信。
IPEndPoint dz=new IPEndPoint(add, 6091);
6091,改成6090Top




