您的位置:首页 > 移动开发 > IOS开发

ios 接收 c# socket udp 组播

2014-01-06 18:14 1466 查看
最近用wcf 服务 给ios和安卓做接口,做了几个ios的项目 用udp 组播 让ios多终端接收和刷新方法

做一个简单的小例子会把工程给大家下载的

  c#代码:netSocketUDP.rar

ios代码:MyIOSSocketDemo.rar

先用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#代码:netSocketUDP.rar

ios代码:MyIOSSocketDemo.rar

补一下发汉字会有乱码

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

?
  

作者:李鹏
出处:http://www.cnblogs.com/li-peng/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios socket