if(((*sockPtr)=socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0) {
#error
}
//绑定源UDP端口
{
struct sockaddr_in a;
a.sin_family = AF_INET;
a.sin_addr.s_addr = htonl(INADDR_ANY);
a.sin_port = htons(sport);
if(bind((*sockPtr), (struct sockaddr*) &a, sizeof(struct sockaddr_in)) < 0) {
close((*sockPtr));
CWErrLog("%s: fail to bind socket", __func__);
}
}
使用指定的UDP源端口连接对端
if(connect((*sockPtr), ((struct sockaddr*)addrPtr), sizeof(struct sockaddr_in)) < 0) {
#error
}
#error
}
//绑定源UDP端口
{
struct sockaddr_in a;
a.sin_family = AF_INET;
a.sin_addr.s_addr = htonl(INADDR_ANY);
a.sin_port = htons(sport);
if(bind((*sockPtr), (struct sockaddr*) &a, sizeof(struct sockaddr_in)) < 0) {
close((*sockPtr));
CWErrLog("%s: fail to bind socket", __func__);
}
}
使用指定的UDP源端口连接对端
if(connect((*sockPtr), ((struct sockaddr*)addrPtr), sizeof(struct sockaddr_in)) < 0) {
#error
}