0
我正在製作一個iOS應用程序,該應用程序應該使用UDP協議進行通信(設備連接到相同的Wi-Fi網絡)。我設法創建一個socket,有些數據發送到指定的IP地址:iOS雙向通信
const char *ip = "192.168.1.100";
- (void)initNetworkCommunication {
cfSocket = CFSocketCreate(kCFAllocatorDefault, AF_INET, SOCK_DGRAM, IPPROTO_UDP, 0, NULL, NULL);
if (cfSocket == NULL) {
NSLog(@"CfSocketCreate failed");
}else{
if(cfSocket) {
NSLog(@"Socket created ");
struct sockaddr_in addr;
memset(&addr, 0, sizeof(addr));
addr.sin_len = sizeof(addr);
addr.sin_family = AF_INET;
addr.sin_port = htons(1470); //port
inet_pton(AF_INET,ip, &addr.sin_addr); //ip adress
CFDataRef addrData = CFDataCreate(NULL, (const UInt8*)&addr, sizeof(addr));
CFSocketSetAddress (cfSocket, addrData);
char message []= "UDP test message";
CFDataRef Data = CFDataCreate(NULL, (const UInt8*)message, sizeof(message));
CFSocketSendData(cfSocket,addrData, Data, 0);
}
}
這工作得很好,我認爲,隨着設備得到消息。問題是我真的不知道從哪裏開始收聽/接收數據。我試圖尋找一些幫助,但遺憾的是沒有任何有用的結果。大多數人都在使用外部庫,這是我想避免的。如果有人能夠就這個話題給我一些指導,我會非常感激。