函数WSAStartup[通俗易懂]

函数WSAStartup一、WSAStartup函数               intWSAStartup                      (                         WORDwVersionRequested,                         LPWSADATAlpWSAData                      

大家好,又见面了,我是你们的朋友全栈君。

函数WSAStartup

一、WSAStartup函数
                int WSAStartup
                       (
                          WORD wVersionRequested,
                          LPWSADATA lpWSAData
                         );
使用Socket的程序在使用Socket之前必须调用WSAStartup函数。该函数的第一个参数指明程序请求使用的Socket版本,其中高位字节指明副版本、低位字节指明主版本;操作系统利用第二个参数返回请求的Socket的版本信息。当一个应用程序调用WSAStartup函数时,操作系统根据请求的Socket版本来搜索相应的Socket库,然后绑定找到的Socket库到该应用程序中。以后应用程序就可以调用所请求的Socket库中的其它Socket函数了。该函数执行成功后返回0。
例:假如一个程序要使用2.1版本的Socket,那么程序代码如下
wVersionRequested = MAKEWORD( 2, 1 );
err = WSAStartup( wVersionRequested, &wsaData );

二、WSACleanup函数
int WSACleanup (void);
应用程序在完成对请求的Socket库的使用后,要调用WSACleanup函数来解除与Socket库的绑定并且释放Socket库所占用的系统资源。
三 Socket接口的检索有关域名、通信服务和协议等Internet信息的数据库函数,如

gethostbyaddr、gethostbyname、gethostname、getprotolbyname

getprotolbynumber、getserverbyname、getservbyport。
 1.gethostname()

  【函数原型】

int PASCAL FAR gethostname (char FAR * name, int namelen);

  【使用说明】

  该函数可以获取本地主机的主机名,其中:

  name:<输出>用于指向所获取的主机名的缓冲区的指针。

  Namelen:<输入>缓冲区的大小,以字节为单位。

  返回值:若无错误,返回0;否则,返回错误代吗。
2.gethostbyname()

  【函数原型】

struct hostent FAR * PASCAL FAR gethostbyname(const char FAR * name);

  【使用说明】

  该函数可以从主机名数据库中得到对应的“主机”。

  该函数唯一的参数name就是前面调用函数gethostname()得到的主机名。若无错误,刚返回一个指向hostent结构的批针,它可以标识一个“主机”列表。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/126337.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • dumpbin的使用方法_Dumpbin 工具的使用

    dumpbin的使用方法_Dumpbin 工具的使用sSummary1000.data1000.reloc1000.rsrc8000.textC:\>dumpbinMicrosoft(R)COFFBinaryFileDumperVersion6.00.844Copyright(C)MicrosoftCorp1992-1998.Allrightsresusage:DUMPBIN[options][fil…

    2022年6月19日
    26
  • c# HJ212协议组包

    c# HJ212协议组包c#关于HJ212协议组包今天突然想起好久没有登过博客了又将近两年没有更新怪我太懒散了。。。工作中学习到的很多但也很容易忘记用过的东西某天可能想再用的时候却想不起来了或者找不到了只能挠头~~好了进入正题我在工作中关于HJ212协议这块用到的还是很多的今天来写一写在c#中HJ212协议如何组包以及有了报文内容如何转换为完整报文:先放一张转换为完整报文的成果图:以下为实际代码:publicpartialclassForm1:Form

    2022年7月25日
    26
  • pycharm激活时配置助手安装参数破解方法

    pycharm激活时配置助手安装参数破解方法,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月14日
    99
  • 移动端开发流程[通俗易懂]

    移动端开发流程[通俗易懂]一、确定项目技术栈vue2.0+vue-cli3/4+vue-router+axios+vuex+vant+rem+sass+webpack二、搭建推荐使用yarnyarn,npm(cnpm)包管理工具yarnaddaxios-Scnpminstallaxios-S-S:–save-dev生产环境的依赖(dependencies)-D:–dev开发环境的依赖(devDependencies)从0开始搭建首先我们要创建一

    2022年6月24日
    28
  • 常用类

    常用类

    2021年10月2日
    44
  • windows安装包制作工具Inno Setup简介

    windows安装包制作工具Inno Setup简介InnoSetup是一个免费的Windows安装程序制作软件;给出了示例程序。

    2025年6月6日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号