TCP通信过程(一)

*WSAstartup()

此函数在应用程序中初始化WindowsSockets DLL 

在程式中调用该函数的形式如下:
v WSAStartup((WORD)((1<<8|1),(LPWSADATA)&WSAData),
其中(1<<8|1)表示我们用的是WinSocket1.1版本,WSAData用来存储系统传回的关于WinSocket的资料。

*Socket()

初始化WinSock的动态连接库后,需要在服务器端建立一个监听的Socket,为此可以调用Socket()函数用来建立这个监听的Socket,并定义此Socket所使用的通信协议。此函数调用成功返回Socket对象,失败则返回INVALID_SOCKET(调用WSAGetLastError()可得知原因,所有WinSocket的API函数都可以使用这个函数来获取失败的原因)。

SOCKET PASCAL FAR socket( intaf, int type, int protocol )

参数: af:目前只提供 PF_INET(AF_INET);

  type:Socket 的类型(SOCK_STREAM、SOCK_DGRAM);

  protocol:通讯协定(如果使用者不指定则设为0);

  如果要建立的是遵从TCP/IP协议的socket,第二个参数type应为SOCK_STREAM,如为UDP(数据报)的socket,应为SOCK_DGRAM。

*bind()

我们调用bind()函数,为服务器端定义的这个监听的Socket指定一个地址及端口(Port),这样客户端才知道待会要连接哪一个地址的哪个端口

该函数调用成功返回0,否则返回SOCKET_ERROR。

  int PASCAL FAR bind( SOCKET s,const struct sockaddr FAR *name,int namelen );

  参 数: s:Socket对象名;

      name:Socket的地址值,这个地址必须是执行这个程式所在机器的IP地址;

      namelen:name的长度; 




WSAStartup()






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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值