1、用select函数怎么知道有带外数据到达?MSDN只提供了read和write两个选项;可wsasysselect好象就提供了。
2、为什么用setsockopt设置OOB_INLINE选项总是报失败?我设的是原始套接字。
3、如果知道当前有带外数据到达,该如何接收?用receive还是receivefrom?
4、如果要发送带外数据,该怎么发送?用send还是sendto?
5、必须是基于stream的套接字才能发送和接受带外数据吗?
6、另外,用sendto可以向基于流的socket发送数据吗?比如想实现地址欺骗。
2、为什么用setsockopt设置OOB_INLINE选项总是报失败?我设的是原始套接字。
3、如果知道当前有带外数据到达,该如何接收?用receive还是receivefrom?
4、如果要发送带外数据,该怎么发送?用send还是sendto?
5、必须是基于stream的套接字才能发送和接受带外数据吗?
6、另外,用sendto可以向基于流的socket发送数据吗?比如想实现地址欺骗。
int nfds,
fd_set FAR *readfds,
fd_set FAR *writefds,
fd_set FAR *exceptfds,
const struct timeval FAR *timeout
);
第一个问题已经解决了,exceptfds就是啊。
这里有详细描述
应该只有tcp才能发送带外数据,你看看udp包头是不是没有带外数据标志位
所以接收当然用recv,发送用send