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 に答える