在windows下,如何用纯C语言实现socket网络编程?
mfc只是对socket进行了一些封装,大部分人做都是用的原始的socket,比如如下接口都可以在c下进行调用1.socket()2.bind()3.connect()4.listen()5.accept()6.send()7.sendto()和recvfrom()8.close()和shutdown()getpeernamegethostname这些接口是在WInsock2.h中定义的不是在mfc中定义的,你只需要包含Winsock2.h_32.lib库就可以了。我觉得是你的概念不清:1、什么是纯C?Windows下的纯C,我还没有见过。很多都和posix的要求不一致。2、要是说使用C语言接口,就很简单,WindowsAPI基本上都是C语言兼容接口。直接使用就可以了。纯C基本上是理论模型,没办法用。VC、GCC等都是C语言的方言。
在windows下用C语言如何实现socket网络编程,需要用到哪些头文件或者库?
需要用到的头文件包含:#include #include 与Linux环境下socket编程相比,windows环境多了一个步骤:启动或者初始化winsock库Winsock,一种标准API,一种网络编程接口,用于两个或多个应用程序(或进程)之间通过网络进行数据通信。具有两个版本:Winsock 1:Windows CE平台支持。头文件:WinSock.h库:wsock32.libWinsock 2:部分平台如Windows CE貌似不支持。通过前缀WSA可以区别于Winsock 1版本。个别函数如WSAStartup、WSACleanup、WSARecvEx、WSAGetLastError都属于Winsock 1.1规范的函数;头文件:WinSock2.h库:ws2_32.libmswsock.h用于编程扩展,使用时必须链接mswsock.dllwinsock库的加载与卸载:加载:int WSAStartup(WORD wVersionRequested, LPWSADATA lpWSAData);加载成功,返回值为0。WORD wVersionRequested:加载的winsock版本,使用宏MAKEWORD(x, y),x表示高字节,y表示低字节。然而使用时MAKEWORD(2, 2)。高字节与低字节相同~~LPWSADATA lpWSAData:WSADATA结构的指针,传入参数后,系统帮助我们填充版本信息。有兴趣的可以看看结构体内容,不过基本用不着。卸载:int WSACleanup(void);比起加载,卸载的函数真是轻松愉快。