如何获取Udp远程主机的信息 UP + 学习 + 接分UP + 学习 + 接分UP + 学习 + 接分 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 使用ReceiveFrom的接收方式比如:IPEndPoint aa=new IPEndPoint(IPAddress.Any,0);EndPoint RemoteHost =(EndPoint)aa;Count = Udp.ReceiveFrom(Buffer,ref RemoteHost); 给你一个比较简单而且易行的办法:定义一个Struct,客户端发送UDP时,所有数据包含在该Struct内,包括他的ip及其他信息,Struct由你自己定义,当然想发什么就有什么了!这个Struct我们暂且叫他一个自定义个消息结构,把该消息结构编译成dll,分别部署到客户端与服务器端,服务器端把接收的数据强制转换成该消息结构类型,读取该结构类型中的数据就可以了。明白吗? 忘了说了,通过网络发送对象数据需要在客户端将对象串行化成数据流,然后在服务器端反串行化该流为对象,再进行强制类型转换。//MsgConstruct--自定义的消息结构串行化过程:MsgConstruct udpMsg = new MsgConstruct(MsgType.REQUEST,"","",ipDns.ToString());MemoryStream mst = new MemoryStream();BinaryFormatter b = new BinaryFormatter();b.Serialize(mst,udpMsg);byte[] bytes = mst.GetBuffer();//将对象串行化为字节流数据反串行化过程:MemoryStream ms = new MemoryStream(buffer,0,buffer.Length,true);BinaryFormatter b=new BinaryFormatter();MsgConstruct udpMsg = (MsgConstruct)b.Deserialize(ms);//将字节流转换为对象 记录用户在线时长,可以用什么方式实现? 我毕业设计正在做类似QQ的简单程序,有些问题解决不了,有没有高手可是提示一下啊 做过C#调用C++动态链接库的朋友请进 TreeView好像没办法让每项高度不一样,难道要自已写一个TreeView 高分求救,文本文件打印,急!! ★★★发布SourceFormatX 万能源代码格式化工具新版本!5月7日之前狂送注册码!!!★★★ 高手帮忙看看 请教高手,学c#第二本书应该看什么? 如何在尽可能高的级别上拦截键盘鼠标输入? 怎样判断一个变量是不是数值型的变量?? 请问中文版的VS2005什么时候出来 如何实现版本自动升级
比如:
IPEndPoint aa=new IPEndPoint(IPAddress.Any,0);
EndPoint RemoteHost =(EndPoint)aa;
Count = Udp.ReceiveFrom(Buffer,ref RemoteHost);
定义一个Struct,客户端发送UDP时,所有数据包含在该Struct内,包括他的ip及其他信息,Struct由你自己定义,当然想发什么就有什么了!
这个Struct我们暂且叫他一个自定义个消息结构,把该消息结构编译成dll,分别部署到客户端与服务器端,服务器端把接收的数据强制转换成该消息结构类型,读取该结构类型中的数据就可以了。明白吗?
//MsgConstruct--自定义的消息结构
串行化过程:
MsgConstruct udpMsg = new MsgConstruct(MsgType.REQUEST,"","",ipDns.ToString());
MemoryStream mst = new MemoryStream();
BinaryFormatter b = new BinaryFormatter();
b.Serialize(mst,udpMsg);
byte[] bytes = mst.GetBuffer();//将对象串行化为字节流数据
反串行化过程:
MemoryStream ms = new MemoryStream(buffer,0,buffer.Length,true);
BinaryFormatter b=new BinaryFormatter();
MsgConstruct udpMsg = (MsgConstruct)b.Deserialize(ms);//将字节流转换为对象