博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android 与C# UDP通信
阅读量:5101 次
发布时间:2019-06-13

本文共 1016 字,大约阅读时间需要 3 分钟。

最近几天一直在做android的与C#的UDP通信,但是在网上没有找到,只有TCP的,唉,伤心啊。。。。。

于是自己琢磨了几天,终于成功了。

其实,C#与java通信,只要两者都遵循协议就行了。

C#端向android端不停的发送8192个字节。

PC端:

UdpClient udpClient=new UdpClient(6800);//设置监听端口

IPEndPoint remote = new IPEndPoint(IPAddress.Any, 0);//用指定的地址和端口号初始化  类的新实例。

现在初始化基本上完成了,由于是要发给android端,android连上WIFI不知道IP地址,所以只要android发送一条消息给PC,那么remote就知道android的IP地址了。

所以Byte[]rece=udpClient.Receive(ref remote); //Receive会阻塞,只有收到消息后才会发送。

然后udpClient.Send(send,send.Length,remote);

这样就可以发送消息了。

android端:

InetAddress serverAddress=InetAddress.getByName("172.24.54.166");

DatagramSocket socket =new DatagramSocket();

DatagramPacket sendPacket=new DatagramPacket(bytesend, bytesend.length,serverAddress,6800);//用于发送,指定地址

DatagramPacket recePacket=new DatagramPacket(byterece,byterece.length);//用于接收

socket.send(sendPacket);//先发送一条信息

socket.receive(recePacket2);//开始接收

这样就可以完成C#与android UDP通信了。

现在存在的问题是:1.网络中断的话不能继续发送,这个我认为可以每隔几秒检测一下网络。

2.丢包严重,这个是UDP的特点,关于怎样减少丢包,自己去解决吧。

 

转载于:https://www.cnblogs.com/wuyihong/archive/2012/05/16/2505437.html

你可能感兴趣的文章
glassfish 自定义 jaas realm
查看>>
Glassfish 设置时区
查看>>
补码与C++的应用
查看>>
PDO 代码
查看>>
Md5加密
查看>>
开源项目objective-zip
查看>>
最大似然估计
查看>>
Egret中的三种单例写法
查看>>
Java开发团队管理细则
查看>>
数列之和
查看>>
struts2与spring整合问题,访问struts2链接时,spring会负责创建Action
查看>>
CentOS 6.8 编译安装MySQL5.5.32
查看>>
Kafka的配置文件详细描述
查看>>
【转】设计模式六大原则(1):单一职责原则
查看>>
iOS 绝对值方法
查看>>
linux crontab
查看>>
你应该知道的Linux历史
查看>>
ssh 认证指定端口
查看>>
[译] 在Web API 2 中实现带JSON的Patch请求
查看>>
ModelAndView详解
查看>>