网络小记:SOCKET

SOCKET

1、::ioctlsocket(handle, FIONBIO, &arg)

问:异步和同步是不是用ioctlsocket(s,   FIONBIO,   &ulBlocking);就可以设置。设置成功后recv,send也是异步的?   

答:准确的讲不是的.是否同步还是异步看你初使化Socket时就自动生成了.如果你用WSAStartup()初使化,那么就是同步的.如果你用WSAAsyncSelect初使化,那么就是异步的.但是并不是说异步的和同步的初使化后就不能更改了.用ioctlsocket()可以控制Socket的模式,即更改同异步.但有限制.如果你想把异步的变回为同步的话,得先哦叫WSAAsyncSelect(),将最后一个参数设为0,即取消异步事件.然后再用ioctlsocket()就可以了.   


2、setsockopt()用法(参数详细说明)

http://blog.csdn.net/chary8088/article/details/2486377


3、BOOL AcceptEx(

  __in          SOCKET sListenSocket,
  __in          SOCKET sAcceptSocket,
  __in          PVOID lpOutputBuffer,
  __in          DWORD dwReceiveDataLength,
  __in          DWORD dwLocalAddressLength,
  __in          DWORD dwRemoteAddressLength,
  __out         LPDWORD lpdwBytesReceived,
  __in          LPOVERLAPPED lpOverlapped
);

http://blog.sina.com.cn/s/blog_62883e4d0100rxug.html

你可能感兴趣的:(网络)