从iPhone通过udp发送"Hello World"消息

Ton*_*Nam 4 sockets iphone udp objective-c

我是目标C的新手,我需要通过UDP发送一条简单的消息.服务器部分正在工作,因为它是用C#实现的.

C#中的服务器代码是:

 var server = new UdpClient(8585);
 var groupEP = new IPEndPoint(IPAddress.Parse("192.168.0.120"),8585);
 byte[] bytes = server.Receive(ref groupEP);
Run Code Online (Sandbox Code Playgroud)

而c#中的客户端部分是:

   System.Net.Sockets.UdpClient client;     
client = new System.Net.Sockets.UdpClient("192.168.0.120",8585);    
client.Send(new byte[]{1,2,3,4},4);
Run Code Online (Sandbox Code Playgroud)

如何在目标c中执行相同的客户端部分?我知道互联网上有很多教程,比如这个库.当我将该库导入我的项目时,我不知道如何实例化一个新对象.我试过了:

 [[GCDAsyncUdpSocket alloc] initWithSocketQueue:... ??? I don't know how to initialize it.
Run Code Online (Sandbox Code Playgroud)

如果有人能向我展示一个如何将客户端部分复制到目标c的简单示例,我将不胜感激.

Ton*_*Nam 6

这里下载GCDAsyncUdpSocket .然后您可以发送数据包:

 GCDAsyncUdpSocket *udpSocket ; // create this first part as a global variable
 udpSocket = [[GCDAsyncUdpSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];

 NSData *data = [ 
                   [NSString stringWithFormat:@"%Hello Wold" 
                    dataUsingEncoding:NSUTF8StringEncoding
                ];

[udpSocket sendData:data toHost:@"192.168.10.111" port:550 withTimeout:-1 tag:1];
Run Code Online (Sandbox Code Playgroud)

  • 该项目已经转移到Github https://github.com/robbiehanson/CocoaAsyncSocket (2认同)