我想通过创建和连接一个书状,向另一个方案(最大/半部分)发送电话。 传真机的这项工作,即当两台传真机都在同一个计算机上运行,而不是在电话本身安装电灯时。
我认为,问题可能是具体指明远程计算机的IP。 我正在利用ock子——构件来具体说明IP和港口信息。 在模拟器操作该代码时,将IP指定为INADDR_ANY:
sin_addr.s_addr=INADDR_ANY;
在试图将我的计生机转换成高分数时,一把它推入“一米”装置,并具体说明,而不是INADDR_ANY。 对于模拟器或该装置来说,这都是固定的。
专栏显示,袖珍是连接和发送数据罚款,但边远方案(最大/半部分)根本不接收任何数据。
我已尝试进口适当的框架,以便它能够同时处理装置和模拟器。
全文如下:
import "UDPSocketCreate.h"
@implementation UDPSocketCreate
-(id)init
{
in_addr_t myAddress = 0xC0A80145;
if(self =[super init])
{
/addr是类型构造背后器的典型变量
memset(&addr, 0, sizeof(addr));
addr.sin_len = sizeof(addr);
addr.sin_family = PF_INET;
addr.sin_port = htons(3333);
addr.sin_addr.s_addr = myAddress;INADDR_ANY
connectAddr = CFDataCreate(NULL, (unsigned char *)&addr, sizeof(addr));
OSC_initBuffer(&myOSCBuff, sizeof(packetBuffer), packetBuffer);
NSString *address = @"/test";
const char *utf8Address = [address UTF8String];
int addressResult = OSC_writeAddress(&myOSCBuff, (char*)utf8Address);
}
return self;
}
CFSocketRef udpSocket;
/ 这种方法在未经许可后由指定代表使用。
-(void)createUDPSocketRef
{
udpSocket = CFSocketCreate(NULL, PF_INET, SOCK_DGRAM, IPPROTO_UDP, kCFSocketWriteCallBack, myCallBack, NULL);
if(udpSocket == NULL)
{
NSLog(@"socket create failed");
return;
}
CFRunLoopSourceRef runLoopSrceRef = CFSocketCreateRunLoopSource(NULL, udpSocket, 1);
CFRunLoopRef rl = CFRunLoopGetCurrent();
CFRunLoopAddSource(rl, runLoopSrceRef, kCFRunLoopCommonModes);
}
// pressing a button on the UI triggers this method
-(void)bang
{
int myInt = 1;
int writeRestult = OSC_writeIntArg(&myOSCBuff, myInt);
int buffDoneResult;
if (buffDoneResult = OSC_isBufferDone(&myOSCBuff))
{
NSLog(@"valid message in buff");
char *pack = OSC_getPacket(&myOSCBuff);
int packSize = OSC_packetSize(&myOSCBuff);
CFDataRef OSCPacketWithAddressTest = CFDataCreate(NULL, pack, packSize);
CFSocketError sendError = CFSocketSendData(udpSocket, connectAddr, OSCPacketWithAddressTest, 30);
NSLog(@"send error: %d", sendError);
}
OSC_resetBuffer(&myOSCBuff);
NSString *address = @"/test";
const char *utf8Address = [address UTF8String];
int addressResult = OSC_writeAddress(&myOSCBuff, (char*)utf8Address);
}
@end
非常感谢任何帮助。