精华内容
下载资源
问答
  • winsock2

    2012-12-26 18:22:03
    winsock2
  • WinSock2.pas

    2021-06-26 11:06:38
    WinSock2.pas 网络编程经常用的到,delphi不自带,给有需要的人
  • 看任务管理器dhcp服务占用很高 cmd ping同局域网地址可以ping通,ping外网不行 使用cmd 输入netsh winsock reset 显示找不到指定文件 解决办法: 怀疑是winsock 和winsock2损坏,替换winsock注册表
  • 适用于误删winsock和winsock2注册表文件(win10家庭版)的童鞋 适用于误删winsock和winsock2注册表文件(win10家庭版)的童鞋 适用于误删winsock和winsock2注册表文件(win10家庭版)的童鞋
  • delphi winsock2

    热门讨论 2010-12-19 16:22:36
    delphi winsock2 没有这个文件就无法使用WSAIoctl
  • Win10家庭版 误删winsock和winsock2注册表的解决方案

    万次阅读 多人点赞 2017-04-02 16:20:36
    晚上不小心把winsock和winsock2注册表删除了,还没有做备份…简直是作死… 因为这2个注册表被删除,直接导致电脑无法上网,详细原因涉及到TCP/IP网络通信协议,这里不深入。 解决方案主要有2种,一种是手动安装...

    晚上不小心把winsock和winsock2注册表删除了,还没有做备份…简直是作死…
    因为这2个注册表被删除,直接导致电脑无法上网,详细原因涉及到TCP/IP网络通信协议,这里不深入。
    解决方案主要有2种,一种是手动安装TCP/IP协议;另一种就是直接从相同系统的其他电脑上导出一份winsock和winsock2注册表,然后在出问题的电脑上导入,win10家庭版应该只能用这种方式,或者用其他注册表修复软件。
    在第一种方法中,win10家庭版在安装TCP/IP协议时将会被组策略拦截下来,导致无法完成安装,而因为不存在本地组策略编辑器(win10 专业版有),而且这时电脑无法上网,无法进行升级。所以该方法将被锁死。
    因此用到了第二种方法,即导入其他正常电脑上的导出文件,这里提供下win10 家庭版的winsock和winsock2导出文件,方便遇到该问题的童鞋解决
    1.CSDN http://download.csdn.net/detail/yeyinglingfeng/9802170
    2.度盘 http://pan.baidu.com/s/1kUFemI7 (csdn自己给资源加下载分也是醉了,还不能改和删= =,用这个下吧,免费的)
    3.鉴于有童鞋出现解压错误的情况,再给一个解压完的下载地址
    百度云 :https://pan.baidu.com/s/18Jzge52vcRz-iuzNQ0xWVQ 提取码 ywq4
    github : https://github.com/SecondMagic/Team-Report-pic

    说下使用方法吧:
    1.下载上面给出的导出文件
    2.运行regedit,先右键开始,然后点击运行,按住win+R键也行
    右键开始,点击运行

    输入regedit

    3.找到winsock和winsock2,路径如下
    这里写图片描述

    4.删除winsock和winsock2这2个文件
    这里写图片描述

    5.导入下载的2个文件,记住2个都要导入一遍,然后重启电脑就行了,如果还是不行就在命令行(就是第2步改成输入cmd啦,后面步骤不用再做一遍)输入netsh winsock reset运行再重启即可
    这里写图片描述

    这次教训很惨重,你能想象到只有一台电脑,电脑上的itunes也刚被卸掉,手头只有一台iPhone和ipad,方圆几公里没熟人和网吧的痛苦吗?电脑无法上网导致无法下载导出文件,无法下载修复工具,iPhone和ipad下载了无法传给电脑(因为这2个注册表关系到网络协议,所以就算电脑链接到无线,也无法进行无线传输)。我都想买只android系统的手机了,手机里有导出文件却无法传给电脑,简直痛苦…
    劝告大家在对注册表进行编辑的时候一定要做备份。

    展开全文
  • Winsock2文件

    2009-08-14 10:34:03
    delphi Socket Winsock2文件
  • 使用winsock2 API和TCP协议的多线程聊天应用程序。 用法 客户 cd client cmake -G " MinGW Makefiles " ./ make -f ./MakeFile 服务器 cd server cmake -G " MinGW Makefiles " ./ make -f ./MakeFile
  • winsock2压缩包

    2010-03-09 16:17:51
    winsock2 ,解压包,希望能与帮助你您,里面有资料说明,开发用
  • WinSock2修复备份

    2013-03-08 14:47:01
    WinSock2修复备份
  • Winsock2 Whitepaper

    2008-06-07 20:37:39
    Winsock2 Whitepaper,about the winsock2 how to use.
  • winsock和winsock2冲突

    2014-01-17 10:56:50
    winsock和winsock2冲突 分类: VC:Windows API/MFC2010-08-17 14:40 857人阅读 评论(0) 收藏 举报 windowsincludesocketapiheaderstruct 在初学Windows网络编程时,曾经遇到过两类编译错误(VC6的...

    winsock和winsock2冲突

    分类: VC:Windows API/MFC   857人阅读  评论(0)  收藏  举报

    在初学Windows网络编程时,曾经遇到过两类编译错误(VC6的Build窗口哗哗的显示了102个Errors),都是些类型未定义或者重复定义问题,让我感到很郁闷。这两种错误情况下的第一条错误信息分别为:

    错误情形1:mswsock.h(69) : error C2065: 'SOCKET' : undeclared identifier

    错误情形2:winsock2.h(99) : error C2011: 'fd_set' : 'struct' type redefinition

    后来,我静下心来仔细分析一下错误提示及相关文件,终于找到了原因。

    我们知道,Windows网络编程至少需要两个头文件:winsock2.h和windows.h,而在WinSock2.0之前还存在一个老版本的winsock.h。正是这三个头文件的包含顺序,导致了上述问题的出现。

    先让我们看看winsock2.h的内容,在文件开头有如下宏定义:

    #ifndef _WINSOCK2API_

    #define _WINSOCK2API_

    #define _WINSOCKAPI_    /* Prevent inclusion of winsock.h in windows.h */

    _WINSOCK2API_ 很容易理解,这是最常见的防止头文件重复包含的保护措施。_WINSOCKAPI_的定义则是为了阻止对老文件winsock.h的包含,即是说,如果用户先包含了winsock2.h就不允许再包含winsock.h了,否则会导致类型重复定义。这是怎样做到的呢?很简单,因为winsock.h的头部同样存在如下的保护措施:

    #ifndef _WINSOCKAPI_

    #define _WINSOCKAPI_

    再回过头来看winsock2.h,在上述内容之后紧跟着如下宏指令:

    /*

    * Pull in WINDOWS.H if necessary

    */

    #ifndef _INC_WINDOWS

    #include <windows.h>

    #endif /* _INC_WINDOWS */

    其作用是如果用户没有包含windows.h(_INC_WINDOWS在windows.h中定义)就自动包含它,以定义WinSock2.0所需的类型和常量等。

    现在切换到windows.h,查找winsock,我们会惊奇的发现以下内容:

    #ifndef WIN32_LEAN_AND_MEAN

    #include <cderr.h>

    #include <dde.h>

    #include <ddeml.h>

    #include <dlgs.h>

    #ifndef _MAC

    #include <lzexpand.h>

    #include <mmsystem.h>

    #include <nb30.h>

    #include <rpc.h>

    #endif

    #include <shellapi.h>

    #ifndef _MAC

    #include <winperf.h>

     

    #if(_WIN32_WINNT >= 0x0400)

    #include <winsock2.h>

    #include <mswsock.h>

    #else

    #include <winsock.h>

    #endif /* _WIN32_WINNT >=   0x0400 */

    #endif

    // 这里省略掉一部分内容

    #endif /* WIN32_LEAN_AND_MEAN */

    看到没?windows.h会反向包含winsock2.h或者winsock.h!相互间的包含便是万恶之源!

    下面具体分析一下问题是怎么发生的。

    错误情形1:我们在自己的工程中先包含winsock2.h再包含windows.h,如果WIN32_LEAN_AND_MEAN未定义且 _WIN32_WINNT大于或等于0x400,那么windows.h会在winsock2.h开头被自动引入,而windows.h又会自动引入 mswsock.h,此时,mswsock.h里所用的socket类型还尚未定义,因此会出现类型未定义错误。

    错误情形2:先包含 windows.h再包含winsock2.h,如果WIN32_LEAN_AND_MEAN未定义且_WIN32_WINNT未定义或者其版本号小于 0x400,那么windows.h会自动导入旧有的winsock.h,这样再当winsock2.h被包含时便会引起重定义。

    这里要说明的是,宏WIN32_LEAN_AND_MEAN的作用是减小win32头文件尺寸以加快编译速度,一般由AppWizard在stdafx.h中自动定义。_WIN32_WINNT的作用是开启高版本操作系统下的特殊函数,比如要使用可等待定时器(WaitableTimer),就得要求 _WIN32_WINNT的值大于或等于0x400。因此,如果你没有遇到上述两个问题,很可能是你没有在这些条件下进行网络编程。

    问题还没有结束,要知道除了VC自带windows库文件外,MS的Platform SDK也含有这些头文件。我们很可能发现在之前能够好好编译的程序在改变了windows头文件包含路径后又出了问题。原因很简单,Platform SDK中的windows.h与VC自带的文件存在差异,其相同位置的代码如下:

    #ifndef WIN32_LEAN_AND_MEAN

    #include <cderr.h>

    #include <dde.h>

    #include <ddeml.h>

    #include <dlgs.h>

    #ifndef _MAC

    #include <lzexpand.h>

    #include <mmsystem.h>

    #include <nb30.h>

    #include <rpc.h>

    #endif

    #include <shellapi.h>

    #ifndef _MAC

    #include <winperf.h>

    #include <winsock.h>   // 这里直接包含winsock.h

    #endif

    #ifndef NOCRYPT

    #include <wincrypt.h>

    #include <winefs.h>

    #include <winscard.h>

    #endif

     

    #ifndef NOGDI

    #ifndef _MAC

    #include <winspool.h>

    #ifdef INC_OLE1

    #include <ole.h>

    #else

    #include <ole2.h>

    #endif /* !INC_OLE1 */

    #endif /* !MAC */

    #include <commdlg.h>

    #endif /* !NOGDI */

    #endif /* WIN32_LEAN_AND_MEAN */

    唉,我们不禁要问MS为什么要搞这么多花样,更让人气愤的是,既然代码不一样,windows.h里却没有任何一个宏定义能够帮助程序辨别当前使用的文件是VC自带的还是PSDK里的。

    后来,我写了一个头文件专门处理winsock2.h的包含问题,名为winsock2i.h,只需在要使用WinSock2.0的源文件里第一个包含此文件即可,不过由于前面提到的问题,当使用PSDK时,需要手工定义一下USING_WIN_PSDK,源码如下:

    //

    // winsock2i.h - Include winsock2.h safely.

    //

    // Copyleft   02/24/2005   by freefalcon

    //

    //

    // When WIN32_LEAN_AND_MEAN is not defined and _WIN32_WINNT is LESS THAN 0x400,

    // if we include winsock2.h AFTER windows.h or winsock.h, we get some compiling

    // errors as following:

    //    winsock2.h(99) : error C2011: 'fd_set' : 'struct' type redefinition

    //

    // When WIN32_LEAN_AND_MEAN is not defined and _WIN32_WINNT is NOT LESS THAN 0x400,

    // if we include winsock2.h BEFORE windows.h, we get some other compiling errors:

    //    mswsock.h(69) : error C2065: 'SOCKET' : undeclared identifier

    //

    // So, this file is used to help us to include winsock2.h safely, it should be

    // placed before any other header files.

    //

     

    #ifndef _WINSOCK2API_

    // Prevent inclusion of winsock.h

    #ifdef _WINSOCKAPI_

    #error Header winsock.h is included unexpectedly.

    #endif

    // NOTE: If you use Windows Platform SDK, you should enable following definition:

    // #define USING_WIN_PSDK

    #if !defined(WIN32_LEAN_AND_MEAN) && (_WIN32_WINNT >= 0x0400) && !defined(USING_WIN_PSDK)

    #include <windows.h>

    #else

    #include <winsock2.h>

    #endif

    #endif//_WINSOCK2API_

    展开全文
  • WinSock2.reg

    2019-12-13 15:20:00
    网络无法访问包Winsock2.2错误的注册表导入配置,本文件为win10专业版操作系统导出的正确注册表配置文件,实践验证可修复win10 家庭版的网络配置
  • Winsock2网络编程实用教程,很好的一本书····
  • winsock2 编写的下载demo,里面包含服务器和客户端,带界面,非多线程,非断点续传
  • 我的异步选择模型 #include "afxsock.h" ...我的事件选择模型 #include "winsock2.h"   试了好多方法,都是重定义或未定义。 统一换成winsock2.h,报错: mfc不能包括windows.h 后来换成afxsock.h就好了。

    我的异步选择模型  #include "afxsock.h"

    我的事件选择模型 #include "winsock2.h"

     

    试了好多方法,都是重定义或未定义。

    统一换成winsock2.h,报错: mfc不能包括windows.h

    后来换成afxsock.h就好了。

     

     

    展开全文
  • windows项目中winsock.h、winsock2.h、windows.h的重复包含问题由来已久,今天在qt项目上遇到了有点闹心, 场景:项目新添加了一个第三方的库,应用而不调用的时候编译没问题,一旦包含头文件并且调用其中接口,就...

    windows项目中winsock.h、winsock2.h、windows.h的重复包含问题由来已久,今天在qt项目上遇到了有点闹心,

    场景:项目新添加了一个第三方的库,应用而不调用的时候编译没问题,一旦包含头文件并且调用其中接口,就报错,各种类型重复定义

    以前项目在vs里面,代码全部自己写的,大部分是因为winsock2.h和windows.h包含顺序引起的,可是今天用到全是qt和第三方的库,根本没有自己主动包含这些库的地方,于是从main.cpp里开始,把头文件的引用放到第一行,没事了。放到一堆include的最后一行,编译失败,于是一点点的定位,发现和项目中包含了qquickwidget、qquickview有关,但是也不能直接把这两个组件拿掉,

    以前知道stdafx.h中定义

    WIN32_LEAN_AND_MEAN

    并且设置预编译头

    qt里面就要在每一个包含的地方加上这个太麻烦,于是用了一个比较简便的方法

    pro文件中加上

    DEFINES += WIN32_LEAN_AND_MEAN

    的定义

    展开全文
  • Winsock2网络编程实用教程Winsock2网络编程实用教程Winsock2网络编程实用教程Winsock2网络编程实用教程
  • 网络封包的截获技术分为几种,例如,过滤驱动程序,NDIS中间驱动...其中要数Winsock2使用最为广泛,下面就向大家介绍下winsock2封包截获技术——它的很大一个特点,就是Winsock2在Winsock1.1的基础上引入了SPI技术!
  • WinSock2 实现Client端

    2016-07-18 15:10:22
    Win32 socket 编程#define BUF_SIZE 128 #include <iostream>#include<WinSock2.h> #include <WS2tcpip.h>using namespace std; #pragma comment(lib, "WS2_32.lib")int main() { WSADATA wsd; SOCKET sSocket;
  • 误删了win10下面的winsock和winsock2

    千次阅读 2018-10-09 15:25:45
    今天真是的脑残,一位内pp无法链接到手机,按照百度教程,把winsock和winsock2删除了,结果不但没有解决pp无法链接到iphone的问题。电脑还不能上网了,因为哪个c:/windows/inf/nettcpip.inf肯本就无法安装,好像win...
  • 不小心把winsock和winsock2注册表删除了,还没有做备份…简直是作死… 因为这2个注册表被删除,直接导致电脑无法上网,详细原因涉及到TCP/IP网络通信协议,这里不深入。 方法一 解决方案主要有2种,一种是手动安装...
  • 1.查找winsock.h winsock2.h windows.h调用的地方 2.确保windows.h包含的地方同时包含winsock2.h(先包含winsock2.h) 如: #include &lt;WinSock2.h&gt; #include &lt;windows.h&gt; 3.将包含...
  • 对于较新的Windows版本,windows.h包含winsock2.h;对于较老的Windows版本,windows.h包含winsock.h。所以问题的本质并不是在与限制windows.h,而是当winsock.h(或包含winsock.h的windows.h)在winsock2.h之前被...
  • win10 专业版删除Winsock 和WinSock2 无法上网问题 删除前未备份的,先下载win0专业版的以上两个注册表文件(链接:https://pan.baidu.com/s/1dZDCEbppb2bWZcI1HzOgxg 提取码:51cc ); 在打开注册表cmd->...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 51,238
精华内容 20,495
关键字:

winsock2