• android 与C# UDP通信


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

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

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

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

    PC端:

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

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

    现在初始化基本上完成了,由于是要发给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的特点,关于怎样减少丢包,自己去解决吧。

     

  • 相关阅读:
    Bootstrap学习笔记
    鼠标画矩形openCV
    开关openCV
    openCV图像形态学
    Android自定义ListView的Item无法响应OnItemClick的解决办法
    0-1背包问题
    java实现矩阵连乘的动态规划
    java 实现排序
    微信小程序--箭头表达式
    微信小程序--navigator url 跳转失效
  • 原文地址:https://www.cnblogs.com/wuyihong/p/2505437.html
Copyright © 2020-2023  润新知