如果要使用这种模式,那么要设置SO_OOBINLINE套接口选项:
srtsocket(s,SOL_SOCKET,SO_OOBINLINE,&oobinline;,sizeof(oobinline));
既然带内数据在普通数据中间,那么怎么知道具体在哪呢,这就需要用函数ioctl(2)确定紧急指针的位置。
1 2 3 4 5 6 7 | #include |
下面是内嵌带内数据的主要代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | z=srtsocket(s, SOL_SOCKET, SO_OOBINLINE, &oobinline, sizeof(oobinline)); for(;;) { ioctl(s,SIOCATMARK,&flag); recv(s,buf,sizeof(buf),0); } |