WSAGetLastError返回10022??

soujiro soujiro 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
小弟初次接触winsock编程,按书上例子敲了代码,结果
WSAGetLastError返回10022


// sock.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "sock.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif


// The one and only application object

CWinApp theApp;

using namespace std;

#pragma comment(lib,"ws2_32.lib")
int main(int argc,char* argv[])
{
WORD wVersion;
WSADATA wsaData;
int err;

wVersion=MAKEWORD(2,2);
err=WSAStartup(wVersion,&wsaData);
if(err!=0)
return 0;
//建立流式套接字
SOCKET listenSocket=socket(AF_INET,SOCK_STREAM,0);
sockaddr_in addr;
int nSockErr;
addr.sin_family=AF_INET;
addr.sin_addr.s_addr=htonl(INADDR_ANY);
//设定监听窗口
addr.sin_port=htons(5101);
//绑定套接字
if(listen(listenSocket,5)==SOCKET_ERROR)
nSockErr=WSAGetLastError();
printf("服务器正在监听...\n");
//等待客户请求
SOCKET connectSocket=accept(listenSocket,NULL,NULL);
if(connectSocket==INVALID_SOCKET)
{
printf("接受错误\n");
nSockErr=WSAGetLastError();
printf("%d",nSockErr);
}
else
{
char buf[1024];
memset(buf,0,sizeof(char)*1024);
int n=recv(connectSocket,buf,1024,MSG_PEEK);
if(n>0)
printf("服务器已接收%d个字符:%s",n,buf);
}
closesocket(listenSocket);
closesocket(connectSocket);
WSACleanup();
getchar();
return 0;
}

结果一运行
服务器正在监听...
接受错误
1002

在网上搜了下
Socket error 10022 - Invalid argument

非法的参数列表??

难道参数不对?书上代码是这样的啊,我还很嫩,无法纠正书上的错误

在此请教各位了~~O(∩_∩)O谢谢
...全文

相关推荐

关于wsagetlasterror返回值

关于wsagetlasterror返回值,包括了所有的错误返回值,应该对大家会有帮助

编程小树

Windows 套接字错误代码,值,含义

本文介绍了由 WSAGetLastError (Wsapiref_2tiq.asp) 函数返回的可能的错误代码。 按错误宏按字母顺序列出错误。 从任何函数不返回 Winsock 2 h 中定义的一些错误代码。 本文中,不会包含这些错误代码。

hlsfe2000hjq

Windows 套接字, 错误代码值和含义(中文版)整理.pdf

本文描述了可能错误代码, 是由 WSAGetLastError (Wsapiref_2tiq.asp) 函数返回。按字母 顺序列出错误由错误宏。 从任何函数不返回 Winsock 2 h 中定义一些错误代码。 本文中不 包含这些错误代码。

zhuanqingshan

Winsock错误代码 txt

Winsock错误代码 txt 的 希望对大家有所帮助...

桔子雨工作室

通信行业基于MongoDB的安全合规与性能优化:5G时序数据处理、可查询加密及窗口函数应用

内容概要:本文围绕MongoDB在通信行业的深度应用,系统讲解了可查询加密、时间序列集合、窗口函数与性能诊断四大核心技术。通过详实的代码案例,展示了如何利用可查询加密实现敏感数据合规存储与查询,使用时序集合高效处理5G网络KPI等高频写入场景,借助窗口函数进行经营指标的趋势分析,并结合explain()与查询分析器完成性能调优。文章还涵盖分片一致性检查、索引优化等运维实践,全面覆盖通信系统对安全、性能与扩展性的严苛要求。; 适合人群:具备一定数据库基础,从事通信行业研发、架构或运维工作1-3年的技术人员,尤其是参与5G网络监控、客户数据管理或大数据平台建设的相关人员。; 使用场景及目标:① 实现用户手机号、身份证等敏感信息的加密存储与等值查询,满足安全合规要求;② 构建高吞吐、低延迟的5G基站KPI时序数据存储与分析系统;③ 在数据库层直接完成滑动平均、累计求和等经营分析,减少应用层计算负担;④ 诊断慢查询、验证索引有效性,保障系统高性能运行。; 阅读建议:此资源强调理论与实战结合,建议读者在本地或测试环境部署MongoDB 7.0+版本,动手复现文中代码,重点关注schemaMap配置、时序集合参数选择与窗口函数语法细节,并结合explain执行计划理解底层优化机制,从而真正掌握通信级数据架构的设计精髓。

数智顾问
评论 8
收藏 已收藏
分享
返回顶部
soujiro
网络编程 18,356 成员 64,161 内容