windows socket相关

1.基本介绍

Winsock在常见的Windows平台上有两个主要的版本,即Winsock1和Winsock2。编写与Winsock1兼容的程序你需要引用头文件WINSOCK.H,如果编写使用Winsock2的程序,则需要引用WINSOCK2.H。此外还有一个MSWSOCK.H头文件,它是专门用来支持在Windows平台上高性能网络程序扩展功能的。使用WINSOCK.H头文件时,同时需要库文件WSOCK32.LIB,使用WINSOCK2.H时,则需要WS2_32.LIB,如果使用MSWSOCK.H中的扩展API,则需要MSWSOCK.LIB。正确引用了头文件,并链接了对应的库文件,你就构建起编写WINSOCK网络程序的环境了。

2.半相关与全相关 

             半相关
           
在网络中用一个三元组可以在全局唯一标志一个进程: (协议,本地地址,本
            
地端口号)这样一个三元组,叫做一个半相关(half-association ), 它指定
            
连接的每半部分。  
           
  全相关
           
一个完整的网间进程通信需要由两个进程组成,并且只能使用同一种高层协议。
           
也就是说,不可能通信的一端用TCP 协议,而另一端用UDP 协议。因此一个完整的
           
网间通信需要一个五元组来标识:
            
(协议,本地地址,本地端口号,远地地址,远地端口号)
            
这样一个五元组,叫做一个相关(association ),即两个协议相同的半相关才
            
能组合成一个合适的相关,或完全指定组成一连接。  

3.阻塞与非阻塞

  简单讲就是同步和异步 

  阻塞方式下对socket的读和写操作系统将阻塞直至读写完毕,而非阻塞方式则读写立即返回,如果不可写则返回一个E_WOULDBLOCK错误,用户应该重复读写,直至读写成功或者发生错误。

  在BSD下,调用select()让socket变成非阻塞,windows下有WSAAsyncSelect() 

 4.htons()函数与ntohs()函数

   使用htons()函数  ->  从主机顺序转换成网络顺序

   ntohs()函数      ->  网络顺序转换到主机顺序


转载于:https://www.cnblogs.com/vilyLei/articles/1813278.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值