WinSock1.1

recv不等待是因为你使用的是非阻塞socket,换而你使用阻塞socket一样需要等待。

recv的recvfrom是可以替换使用的,只是recvfrom多了两个参数,可以用来接收对端的地址信息,这个对于udp这种无连接的,可以很方便地进行回复。而换过来如果你在udp当中也使用recv,那么就不知道该回复给谁了,如果你不需要回复的话,也是可以使用的。另外就是对于tcp是已经知道对端的,就没必要每次接收还多收一个地址,没有意义,要取地址信息,在accept当中取得就可以加以记录了。

第一类是WinSock API包含的Berkeley socket函数。这类函数分两部分。第一部分是用于网络I/O的函数,如

  accept、closesocket、connect、recv、recvfrom、select、send、sendto
  另一部分是不涉及网络I/O、在本地端完成的函数,如
  bind、getpeername、getsockname、getsocketopt、htonl、htons、inet_addr、inet_nton
  ioctlsocket、listen、ntohl、ntohs、setsocketopt、shutdow、socket等
  第二类是检索有关域名、通信服务和协议等Internet信息的数据库函数,如
  gethostbyaddr、gethostbyname、gethostname、getprotolbyname
  getprotolbynumber、getserverbyname、getservbyport。

  第三类是Berkekley socket例程的Windows专用的扩展函数,如gethostbyname对应的WSAAsynGetHostByName(其他数据库函数除了gethostname都有异步版本),select对应的WSAAsynSelect,判断是否阻塞的函数WSAIsBlocking,得到上一次Windsock API错误信息的WSAGetLastError,等等。






sockaddr是早期的版本。 
sockaddr_in是比较新的。其中包含了sockaddr的所有内容。还有s_un字段等


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值