导航:首页 > 编程语言 > windows网络编程c语言

windows网络编程c语言

发布时间:2025-01-17 23:22:32

A. 在windows下用C语言如何实现socket网络编程,需要用到哪些头文件或者库

需要用到的头文件包含:

#include <winsock2.h>

#include <windows.h>

与Linux环境下socket编程相比,windows环境多了一个步骤:启动或者初始化winsock库

Winsock,一种标准API,一种网络编程接口,用于两个或多个应用程序(或进程)之间通过网络进行数据通信。具有两个版本:

Winsock 1:

Windows CE平台支持。

头文件:WinSock.h

库:wsock32.lib

Winsock 2:

部分平台如Windows CE貌似不支持。通过前缀WSA可以区别于Winsock 1版本。个别函数如WSAStartup、WSACleanup、WSARecvEx、WSAGetLastError都属于Winsock 1.1规范的函数;

头文件:WinSock2.h

库:ws2_32.lib

mswsock.h用于编程扩展,使用时必须链接mswsock.dll

(1)windows网络编程c语言扩展阅读

winsock库的加载与卸载:

加载:int WSAStartup(WORD wVersionRequested, LPWSADATA lpWSAData);

加载成功,返回值为0。

WORD wVersionRequested:加载的winsock版本,使用宏MAKEWORD(x, y),x表示高字节,y表示低字节。然而使用时MAKEWORD(2, 2)。高字节与低字节相同~~

LPWSADATA lpWSAData:WSADATA结构的指针,传入参数后,系统帮助我们填充版本信息。有兴趣的可以看看结构体内容,不过基本用不着。

卸载:int WSACleanup(void);比起加载,卸载的函数真是轻松愉快。

B. 我想自学windows内核编程以及C语言网络编程(之前完全没接触过),已经掌握C、C++,应该如何入手

《windows核心编程》距离windows内核编程还差得远啦,《windows核心编程》是一本讲述windows应用程序开发的书。你真正需要掌握的是操作系统方面的知识,例如怎么样创建一个线程、创建一个进程、如何遍历文件夹,控制他们的访问权限,内存映射等。

然后开始看操作系统方面的书,比如《操作系统 : 精髓与设计原理(原书第6版) 》,《现代操作系统(原书第3版)》这样有一定理论深度的书,这些理论的书没有代码,但你在看的时候也要想想这些东西是怎么实现的。

有了一定的基础之后,可以开始看内核编程方面的书,例如潘爱民写的《windows内核原理与实现》,再高级一点的看毛德操写的《Windows内核情景分析》,最权威的当然还是《深入解析Windows操作系统》,然后你就可以深入windows内核编程了。不过提醒你就是这3本的难度在《windows核心编程》之上,要花好多年功夫,写好多万行代码,泡好多个论坛看别人的贴子,看很多别人博客,好多别的辅助读物,才能都看懂。楼主要量力而行。

网络编程的话,windows方面我也不知道哪本书好,我真心推荐《UNIX网络编程》(1,2卷)和《UNIX环境高级编程》。

C. c语言的网络编程特点有哪些(在线等待,答得好马上给分!)

1、你说得用C语言开发网络程序,一定指的是在WIN/UNIX/LINUX/SOLARIS/FreeBSD等多进程/多线程操作系统下的编程,网络编程是基于B/S或者C/S架构的,无论那种,S都需要有多线程或者子进程的处理与客户端通信的能力,DOS下的C是不具备这个能力。另外,网络程序是对操作系统多线程/多进程能力要求很高的应用,所以UNIX下的C编程能很好的满足要求。
2、网络编程只要遵从一种协议,语言是没有限定的,比较各种语言编写的网路应用的特点,归根结底还是回到这种语言已经它存在的操作系统的特点。相比与其他语言开发的网络程序,用UNIX/SOKCET/C这种模式开发的网络应用能最大限度的利用系统资源,同时兼备UNIX的稳定性和C的高效率,是大型网络应用经常采用的方式,例如着名的freeBSD,大量的论坛都是这样的方式。很多网络应用,离开UNIX和C,在重连接负荷的情况下是无法工作的。
3、但是由于高效与通用是一对矛盾,UNIX/C开发的网络应用,比较靠近系统底层,代码的可移植性、可重用性相对于使用winsock编程的WINDOWS/C++方案的网络应用要差一些,windows的MFC已经对网络协议做了很多层的封装,使用C++来继承可以节省大量开发时间。
4、结论,如果你想开发自己全新的网络应用/协议,并且要承担很重的用户访问负荷,那么你可以用C,而且操作系统要用UNIX/LINUX,如果你仅仅希望用已经成熟的internet协议写一些界面漂亮的网络应用,推荐你用WINDOWS/C++方式。

阅读全文

与windows网络编程c语言相关的资料

热点内容
c盘压缩文件可以删除吗 浏览:992
单片机键盘分类 浏览:389
手机app怎么老是进不去 浏览:954
安卓游戏玩模拟器用什么手柄 浏览:31
退出at模式命令 浏览:941
php供求平台源码 浏览:132
命令sm 浏览:43
福建集群服务器云主机 浏览:317
安卓手机怎么把2g切换为4g 浏览:457
在健康青岛App挂号怎么查询 浏览:269
普通人上网用的是什么服务器 浏览:453
python安装了找不着 浏览:181
常微分第三版答案pdf 浏览:264
安卓机qq怎么开悬浮窗 浏览:63
备孕三年了怎么缓解压力大 浏览:743
登录阿里云服务器黑屏 浏览:336
匿名元组Python 浏览:726
华为运动健康存储的文件夹 浏览:522
cad正多边形命令 浏览:461
压缩比150能加97油吗 浏览:399