我已经尝试了两个星期通过 UDP 发送一个字符。到目前为止,我还没有找到一个实际使用 XCode 和 IOS 7 的示例。我目前被卡住了,因为每次运行我的代码时,Bind 函数都会返回 -1。我不知道出了什么问题或解决方案是什么。PS。我知道我的收件人地址不见了,但现在我只是想解决绑定问题。(使用特定地址的示例编译失败。)
这是非常令人沮丧的,因为我已经成功地在 Windows、Windows Mobile 6.0 和 AS400 上创建了 UPD 程序,而我没有花太多精力在这上面,到目前为止还没有什么可展示的。
这是我当前的代码
char Buff[256];
strcpy(Buff,"Test MESSAGE");
int handle = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);
if (handle > 0) {
struct sockaddr_in address;
address.sin_family = AF_INET;
address.sin_port = htons(311);
inet_pton(AF_INET, "10.121.8.54", &(address.sin_addr));
if (bind(handle,(struct sockaddr *) &address, sizeof(struct sockaddr_in))< 0){
printf("************************ Failed to bind\n");
} else {
send(handle, Buff, sizeof(Buff), 0);
}
} else {
printf("Faile to create socket\n");
}//end if
这是我的进口
#import <sys/socket.h>
#import <netinet/in.h>
#import <sys/types.h>
#import <fcntl.h>
#import <netdb.h>
#import <arpa/inet.h>