0

我在 mini MAC 10.5.8 和 Simulator 3.1 上运行 XCODE 3.1.4 我想为一些远程控制发送一个短的 UDP 字符串并制作了以下代码

基本上它确实在模拟器中编译和运行......但它从不向目标发送任何 UDP。我希望有人能给我一个线索为什么它不起作用

我的 .H 代码

#import <UIKit/UIKit.h>
#import "AsyncUdpSocket.h"
#import "AsyncSocket.h"

@interface ChangeLabelViewController : UIViewController {
IBOutlet UILabel *label ;
AsyncUdpSocket *socket;

}

-(IBAction) ChangeLabel;
-(IBAction) ResetLabel;

@end

我的 .m 代码

#import "ChangeLabelViewController.h"

@implementation ChangeLabelViewController

-(IBAction) ChangeLabel
{
label.text = @"Hello";
}

-(IBAction) ResetLabel
{
label.text = @"Empty";

NSLog(@"%s", __PRETTY_FUNCTION__);

NSString * string = @"Testing iPhone";
NSString * address = @"192.168.1.11";
UInt16 port = 1234;
NSData * data = [string dataUsingEncoding: NSUTF8StringEncoding];

if ([socket sendData:data toHost:address port:port withTimeout:- 1 tag:1])  label.text = @"Send";
// if ([socket sendData:data toHost:address port:port withTimeout:-1 tag:1] == YES) label.text = @"Yes";
// if ([socket sendData:data toHost:address port:port withTimeout:-1 tag:1] == NO) then label.text = @"No";
;        

} 

@end
4

2 回答 2

1

必须初始化套接字

under - (void) vievDidLoad
socket = [[AsyncUdpSocket alloc] initWithDelegate:self];

然后它按预期工作:-)

于 2011-06-03T08:34:45.287 回答
0

如果您从一个全新的项目开始,您还需要执行以下操作: 1. 将 CFNetwork 添加到项目中的框架 2. 将 cocaasyncsockets 文件添加到您的项目

说明在这里:http ://code.google.com/p/cocoaasyncsocket/wiki/iPhone 注意关于如何添加 CFNetwork 的说明,它没有显示在可用选项列表中。提示:您将需要使用查找器来选择路径,我是一个 mac 新手,所以我花了一段时间才弄清楚我必须使用 Go/Go To Folder....

于 2011-07-21T00:20:18.420 回答