ios UDP组播
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了ios UDP组播,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2870字,纯文字阅读大概需要5分钟。
内容图文
这几天在做wifi的智能灯,需要用到组播的知识就把这个记录一下,服务端使用java写的,代码如下:
1 import java.io.IOException; 2 import java.net.DatagramPacket; 3 import java.net.DatagramSocket; 4 import java.net.InetAddress; 5 import java.net.MulticastSocket; 6 7 class UDPServer{ 8 public static void main(String[] args)throws IOException{ 9 MulticastSocket server = new MulticastSocket(5050); 10 InetAddress address = InetAddress.getByName("224.0.0.1"); 11 server.joinGroup(address); 121314byte[] recvBuf = newbyte[100]; 15 DatagramPacket recvPacket 16 = new DatagramPacket(recvBuf , recvBuf.length); 1718while(true) 19 { 2021 server.receive(recvPacket); 22 String recvStr = new String(recvPacket.getData() , 0 , recvPacket.getLength()); 23 System.out.println("Hello World!" + recvStr); 24int port = recvPacket.getPort(); 25 InetAddress addr = InetAddress.getByName("224.0.0.1"); 26 String sendStr = "Hello ! I‘m Server"; 27byte[] sendBuf; 28 sendBuf = sendStr.getBytes(); 29 DatagramPacket sendPacket 30 = new DatagramPacket(sendBuf , sendBuf.length , addr , port ); 31 server.send(sendPacket); 32 } 33343536 } 3738 }
ios端的主要代码:
1 #import " UdpHelper.h " 2 3 @implementation UdpHelper { 4 AsyncUdpSocket* m_udpSocket; 5} 6 7 + (UdpHelper*)getinstance 8{ 910static UdpHelper* udpHelper = nil; 1112static dispatch_once_t onceToken; 13 dispatch_once(&onceToken, ^{ 14 udpHelper = [[self alloc] init]; 1516 [udpHelper openUDPServer]; 17 }); 1819return udpHelper; 20} 2122 - (void)openUDPServer 23{ 24 AsyncUdpSocket* tempSocket = [[AsyncUdpSocket alloc] initWithDelegate:self]; 25 m_udpSocket = tempSocket; 2627 NSError* error = nil; 28 [m_udpSocket bindToPort:5051 error:&error]; 29 [m_udpSocket joinMulticastGroup:@"224.0.0.1" error:&error]; 3031 [m_udpSocket receiveWithTimeout:-1 tag:0]; 32} 3334 - (void)sendMessage:(NSString*)message 35{ 36 NSMutableString* sendString = [NSMutableString stringWithCapacity:100]; 37 [sendString appendString:message]; 3839 BOOL res = [m_udpSocket sendData:[sendString dataUsingEncoding:NSUTF8StringEncoding] 40 toHost:@"224.0.0.1"41 port:505042 withTimeout:-143 tag:0]; 4445 NSLog(@"%@", sendString); 46if (res) { 47 NSLog(@"xxxxffff"); 48 } 49else { 50 NSLog(@"error"); 51 } 52} 5354 - (BOOL)onUdpSocket:(AsyncUdpSocket*)sock didReceiveData:(NSData*)data withTag:(long)tag fromHost:(NSString*)host port:(UInt16)port 55{ 56 NSLog(@"onUdpSocket successful"); 5758 NSString* str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 5960 NSLog(@"%@", str); 6162return YES; 63} 6465 - (void)onUdpSocket:(AsyncUdpSocket*)sock didNotSendDataWithTag:(long)tag dueToError:(NSError*)error 66{ 67 NSLog(@"error1"); 68} 6970 - (void)onUdpSocket:(AsyncUdpSocket*)sock didNotReceiveDataWithTag:(long)tag dueToError:(NSError*)error 71{ 72 NSLog(@"error2"); 73} 7475@end
以上的代码就可以实现两端互发消息通信,代码也主要是借鉴了一些别人的
原文:http://www.cnblogs.com/jjxxjnzy/p/4240000.html
内容总结
以上是互联网集市为您收集整理的ios UDP组播全部内容,希望文章能够帮你解决ios UDP组播所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。
来源:【匿名】