天天看點

ios 接收 c# socket udp 多點傳播

最近用wcf 服務 給ios和安卓做接口,做了幾個ios的項目  用udp 多點傳播 讓ios多終端接收和重新整理方法

做一個簡單的小例子會把工程給大家下載下傳的

先用c#做發送

多點傳播IP範圍為 224.0.0.0~239.255.255.255

建一個控制台應用程式

        //不在一個網段也可以收到

        Socket server = new Socket(AddressFamily.InterNetwork,

        SocketType.Dgram, ProtocolType.Udp);

        IPEndPoint iep = new IPEndPoint(IPAddress.Any, 12002);

        IPEndPoint iep2 = new IPEndPoint(IPAddress.Parse("224.0.0.2"), 12001);

        server.Bind(iep);

        byte[] data = Encoding.ASCII.GetBytes(message);

        server.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.AddMembership,

        new MulticastOption(IPAddress.Parse("224.100.0.1")));

        server.SetSocketOption(SocketOptionLevel.IP,SocketOptionName.MulticastTimeToLive, 50);

        server.SendTo(data, iep2);

        server.Close();

               }

  順便把c#接收也說一下(這個可以不用看,因為我們要做的是ios接收)

  

ios接收

ios 用到的一個類庫AsyncUdpSocket 這個類庫就是發送和接收收  多點傳播的 用起來很友善網上有好多例子我就簡單說一下

建一個Single View Application

把AsyncUdpSocket.h 和AsyncUdpSocket.m加到工程裡

窗體上放一個文本顯示收到的資訊

在ViewController.h裡加入

在ViewController.m 裡實作

補一下發漢字會有亂碼

 c#用

ios用

ios  URL中文轉碼

方法1

    NSMutableURLRequest *request = [[NSMutableURLRequestalloc] init];

            // 設定URL

            [request setURL:[NSURL URLWithString:url]];

            // 設定HTTP方法

            [request setHTTPMethod:@"GET"];

            // 發送同步請求, 這裡得returnData就是傳回得資料

            NSData *data = [NSURLConnectionsendSynchronousRequest:request

                                                       returningResponse:nil error:nil]; 

方法2

繼續閱讀