- 论坛徽章:
- 0
|
首先创建udp socket:
socketfd = socket(AF_INET, SOCK_DGRAM, 0);
接着执行connect:
memset(&serverAddr, 0x0, sizeof(serverAddr));
serverAddr.sin_family = AF_INET;
serverAddr.sin_addr.s_addr = dwIPName; // 目标机的IP地址
serverAddr.sin_port = htons(nPort); // 目标机的端口
retval = connect(socketfd, (struct sockaddr *)&serverAddr, sizeof(serverAddr));
再接着执行select and write:
select(socketfd+1, NULL, &wset, NULL, (500 ms))
返回可写之后
write(socketfd, sBuffer, nLength);
可是write常常返回-1,错误号是ECONNREFUSED(111), Connection refused.
不采用connect方式,直接改用sendto就没有很正常了,
不知道为什么UDP write为什么返回"Connection Refused"?
谢谢 |
|