WSAStartup()函数的使用

WSAStartup()函数的使用intWSAStartup(__inWORDwVersionRequested,__outLPWSADATAlpWSAData);WSAStartup格式:intPASCALFARW

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

int WSAStartup(
__in          WORD wVersionRequested,
__out         LPWSADATA lpWSAData
);

WSAStartup


格  式: int PASCAL FAR WSAStartup( WORD wVersionRequested,  LPWSADATA lpWSAData );
参  数:  wVersionRequested 欲使用的 Windows Sockets API 版本
lpWSAData  指向 WSADATA 资料的指标
传回值:  成功 – 0
           失败 - WSASYSNOTREADY / WSAVERNOTSUPPORTED /  WSAEINVAL
说明: 此函式「必须」是应用程式呼叫到 Windows Sockets DLL 函式中的第一个,也唯有此函式呼叫成功後,才可以再呼叫其他 Windows  Sockets DLL 的函式。此函式亦让使用者可以指定要使用的 Windows Sockets API 版本,及获取设计者的一些资讯。程式中我们要用 Winsock 1.1,所以我们在程式中有一段为:
WSAStartup((WORD)((1<<8)|1),(LPWSADATA) &WSAData)
其中 ((WORD)((1<<8)|1) 表示我们要用的是 Winsock 「1.1」版本,而WSAData 则是用来储存由系统传回的一些有关此一 Winsock Stack 的资料。

The WSAStartup function initiates use of the Winsock DLL by a process.










在使用WSAStartup的使用出现了下面的问题:
源码:
#include stdafx.h
#include<windows.h>

int main()
{
    WSADATA wsa={0};
    WSAStartup(MAKEWORD(2,2),&wsa);
    
    return 0;
}

出现的错误信息:
错误 1 error LNK2019: 无法解析的外部符号 _WSAStartup@8,该符号在函数 _main 中被引用 CompletePortDemo.obj CompletePortDemo
解决方法:添加#pragma comment(lib,"ws2_32.lib")
正确代码:

#include stdafx.h
#include<windows.h>
#pragma    comment(lib,ws2_32.lib)

int main()
{
    WSADATA wsa={0};
    WSAStartup(MAKEWORD(2,2),&wsa);
    
    return 0;
}

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/155202.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • intrllijidea 永久激活码_在线激活

    (intrllijidea 永久激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.htmlMLZPB5EL5Q-eyJsaWN…

  • navicat连接MySQL失败,cmd也不能登录MySQL_远程连接mysql

    navicat连接MySQL失败,cmd也不能登录MySQL_远程连接mysql出现Clientdoesnotsupportauthenticationprotocolrequestedbyserver…的解决方案mysqladmin-uroot-ppassword123456qmysql-uroot-pALTERUSER’root’@’localhost’IDENTIFIEDWITHmysql_native_password…

    2022年10月14日
  • 什么是exploit

    什么是exploit   exploit字面上的意思是“开拓、开发”,而在激活成功教程圈子里面,公认的概念可能是“漏洞及其利用”。通俗的说,exploit就是利用一切可以利用的工具、采用一切可以采用的方法、找到一切可以找到的漏洞,并且通过对漏洞资料的分析研究,从而达到获取网站用户资料文档、添加自定义用户、甚至侵入网站获得管理员权限控制整个网站的最终目的。对于cracker来说,能够得到密码档或者添加用户就足够了。而对于h

    2022年10月26日
  • GirdView 通过 RenderControl 导出 excel 日期问题

    GirdView 通过 RenderControl 导出 excel 日期问题for(inti=0;i&lt;gt.Rows.Count;i++){ gt.Rows[i].Cells[7].Text=Convert.ToDateTime(gt.Rows[i].Cells[7].Text).ToString("yyyy年MM月dd日HH:mm:ss");}

  • linux查看80端口占用情况_linux查看端口号是否被占用

    linux查看80端口占用情况_linux查看端口号是否被占用前言平常使用linux,我们经常需要查看哪个服务占用了哪个端口,接下来就为大家介绍了2种Linux查看端口占用情况可以使用lsof和netstat命令。1.lsof-i:端口号用

  • 关于用户路径分析模型_spark用户行为路径

    关于用户路径分析模型_spark用户行为路径在网页或者营销渠道中,用户行为模型有比较多,基于渠道的,笔者觉得有:渠道类型渠道重要性渠道跳转与流失单渠道,多节点路径分析,漏斗功能多渠道归因分析这里多渠道指的是,单渠道多节点的场景比较好理解,就是进入某个web\小程序,在不同页面之间进行跳转,多渠道这里比较多的就是,同一用户在不同的较大的场景下的流转,比如在小红书种草->微信好友推荐->淘宝上买了。归因分析是通过一定的逻辑方法,计算每个渠道、或者触点对最终结果贡献程度的方法。有一套合理

发表回复

您的电子邮箱地址不会被公开。

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