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

作者&投稿:黄药 (若有异议请与网页底部的电邮联系)
在windows下,如何用纯C语言实现socket网络编程?~

mfc只是对socket进行了一些封装,大部分人做网络编程都是用的原始的socket,比如如下接口都可以在c下进行调用
1.socket()
2.bind()
3.connect()
4.listen()
5.accept()
6.send() 和recv()
7.sendto() 和recvfrom()
8.close() 和shutdown()
9.getpeername()
10.gethostname()
这些接口是在Winsock2.h中定义的不是在mfc中定义的,你只需要包含Winsock2.h头文件和Ws2_32.lib库就可以了。

mfc只是对socket进行了一些封装,大部分人做
网络编程
都是用的原始的socket,比如如下接口都可以在c下进行调用
1.socket()
2.bind()
3.connect()
4.listen()
5.accept()
6.send()
和recv()
7.sendto()
和recvfrom()
8.close()
和shutdown()
9.
getpeername
()
10.
gethostname
()
这些接口是在Winsock2.h中定义的不是在mfc中定义的,你只需要包含Winsock2.h
头文件

Ws2
_32.lib库就可以了。

需要用到的头文件包含:

#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

扩展资料

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);比起加载,卸载的函数真是轻松愉快。



在windows下用C语言如何实现socket网络编程,需要用到以下头文件和库:

1、头文件 winsock2.h, 

2、静态库文件 Ws2_32.lib 

3、动态DLL文件 Ws2_32.dll 

我们可以简单的把Socket理解为一个可以连通网络上不同计算机程序之间的管道,把一堆数据从管道的A端扔进去,则会从管道的B端(也许同时还可以从C、D、E、F……端冒出来)。管道的端口由两个因素来唯一确认,即机器的IP地址和程序所使用的端口号。

扩展资料:

Socket可以支持数据的发送和接收,它会定义一种称为套接字的变量,发送数据时首先创建套接字,然后使用该套接字的sendto等方法对准某个IP/端口进行数据发送;接收端也首先创建套接字,然后将该套接字绑定到一个IP/端口上,所有发向此端口的数据会被该套接字的recv等函数读出。如同读出文件中的数据一样。

参考资料来源:百度百科-套接字



在windows下用C语言如何实现socket网络编程,需要用到以下头文件和库:

  1. 头文件    winsock2.h,

  2. 静态库文件    Ws2_32.lib

  3. 动态DLL文件    Ws2_32.dll


写一个UDP发送程序的步骤如下:

1.         用WSAStartup函数初始化Socket环境;

2.         用socket函数创建一个套接字;

3.         用setsockopt函数设置套接字的属性,例如设置为广播类型;很多时候该步骤可以省略;

4.         创建一个sockaddr_in,并指定其IP地址和端口号;

5.         用sendto函数向指定地址发送数据,这里的目标地址就是广播地址;注意这里不需要绑定,即使绑定了,其地址也会被sendto中的参数覆盖;若使用send函数则会出错,因为send是面向连接的,而UDP是非连接的,只能使用sendto发送数据;

6.         用closesocket函数关闭套接字;

7.         用WSACleanup函数关闭Socket环境。

与之类似,一个UDP接收程序的步骤如下,注意接收方一定要bind套接字:

1.         用WSAStartup函数初始化Socket环境;

2.         用socket函数创建一个套接字;

3.         用setsockopt函数设置套接字的属性,例如设置为广播类型;

4.         创建一个sockaddr_in,并指定其IP地址和端口号;

5.         用bind函数将套接字与接收的地址绑定起来,然后调用recvfrom函数或者recv接收数据; 注意这里一定要绑定,因为接收报文的套接字必须在网络上有一个绑定的名称才能保证正确接收数据;

6.         用closesocket函数关闭套接字;

7.         用WSACleanup函数关闭Socket环境。

参考资料地址:http://blog.csdn.net/xxbsky520/article/details/6161217



主要是看采取什么样的协议。是tcp还是udp使用的头文件是不一样的。不过差别都不大。winscok2.h就够用了。不过往深了走其实还是要涉及到其他的,这个普通的套接字编程主要是winscok2.h里面的。

那就是控制台应用程序喽
看孙鑫VC6视频教程网络编程部分
很详细,VC6只是个平台,可以随便用什么来写
主要用到winscok2.h


在Windows10中如何下载应用程序
在Windows 10中,您可以通过以下两种方法来下载应用商店:使用Microsoft Store应用商店:Microsoft Store是Windows 10内置的应用商店,您可以在其中下载各种应用程序。按下Win键(Windows键)或单击任务栏上的Windows图标以打开“开始”菜单。在“开始”菜单中,您可以找到Microsoft Store图标。单击该图标以打开...

怎样在 Win7 下用 Windows Virtual PC 安装 Win98\/Me\/95 等系统?_百度...
准备工作:安装windows virtual pc,下载win98光盘镜像。1、启动Virtual PC后,出现【新建虚拟机向导】,点击【下一步】,新建虚拟机。2、点击浏览,选择虚拟机文件保存位置。点击“保存”。3、操作系统选择“Windows98”,点击【下一步】4、设置内存大小,下一步。5、选择“新建虚拟硬盘”,设置大小,...

在windows下如何利用Cygwin进行编程
Windows下使用C语言+嵌入SQL实现DB2开发 Cygwin,gcc的介绍和安装在前面的文章有将过,请参考 在Windows中使用Cygwin环境下的gcc编译器编译Informix ESQ\/C程序 对于DB2的嵌入SQL程序,有以下步骤:1)编写dbconn.sqc程序(一个简单的连接数据库,查询并显示的例子)2)在Cygwin命令行中键入 db2cmd 启动一个...

mindnode 生成的文件,在windows环境下用什么工具打开。
工具\/材料:Microsoft Office Word,mindnode后缀名文件。1、首先在桌面上,选中“mindnode后缀名文件”图标。2、然后在该界面中,右键点击弹出菜单里的“打开”选项。3、其次在弹出的“打开”界面中,双击“Microsoft Office Word”应用程序,用来打开mindnode后缀名文件。4、最后在“Microsoft Office Word...

windows10系统下使用debug进行dos调试的方法
在Windows 10系统下,可以使用Debug命令行工具进行DOS调试。下面是详细的步骤:1. 打开命令行工具。在Windows 10中,可以通过按Win + X键,然后选择“命令提示符”或“Windows PowerShell”来打开。2. 输入“debug”命令并按Enter键进入Debug模式。3. 进入Debug模式后,可以使用各种调试命令进行操作。常用...

windows下如何用cmd命令解压指定的zip文件到指定目录下
复制RAR.exe和UNRAR复制到c:\\windows文件夹中。按win+r,输入cmd,点击确定。提示符后输入:unrar e 压缩文件路径\\名称 解压后路径,如下图:效果如下图:拓展回答:实用命令:命令m 表示移动(压缩后,删除源文件)。命令a 表示添加压缩。命令s 表示创建自解压文件。实用开关:-r 含子文件夹。-ai...

Windows下的ProgramData资料夹是干什么用的
Windows下的ProgramData资料夹是干什么用的 程式资料资料夹{ProgramData }是属于电脑C盘的一个系统资料夹,它是公用的被建立资料夹或档案存放的地方,这些资料夹或档案仅由建立者完整控制。 C:\\ProgramData 是个公用的被建立资料夹或档案存放的地方,这些资料夹或档案仅由建立者完整控制。programdata是电脑...

Windows下双屏显示有什么提高效率的使用小技巧
经常看到别人能够用两个显示屏来工作的你不用羡慕他们了,即使你有一个显示屏,也能够快速高效的工作了。在有限的条件下,我们使用win+←\/→\/↑\/↓将两个窗口平均放在显示器的左右(上下)两侧,实现分屏效果,是不是觉得这下我也可以很高效率的比较文件内容,参考资料,更快的理顺思路了呢。这个功能...

win10系统下Windows模块安装程序工作者占用cpu使用率高怎么解决_百度知 ...
此过程始终在后台运行。Tiworker.exe在Windows10上使用如此高的CPU原因:如果Windows10有任何更新,则会出现相当多的Windows模块安装程序工作程序。这样,虽然这些Tiworker.exe服务在后台运行,但CPU也会很高。在这种情况下,您最好尝试一些方法来解决Windows10的Tiworker.exe高CPU错误。解决方法:解决方案1:...

请问苹果鼠标在WINDOWS 系统下中间滚轮键怎么用?
需要下载安装Bluetooth Update for Windows的驱动程序才能激活苹果鼠标的滚轮功能。具体介绍如下:1、下载安装苹果之前给BootCamp中安装Windows系统准备的一款鼠标驱动,名为Bluetooth Update for Windows,安装此驱动后可以在Windows下使用触摸实现上下滑动以及点击中间滚轮键的功能;2、下载文件并解压之后,一般会有...

东阳市19555311733: 在windows下用c语言创建进程 -
善询穿心: 下面为C语言调用WIN API实现创建线程: 1,导入头文件 2,声明实现方法DWORD WINAPI ThreadProc1( LPVOID lpParam ) {} 3,在main()方法中调用 CreateThread(NULL,0 ,ThreadProc1,NULL,0,NULL); 要注意的是主线程不能结束,如...

东阳市19555311733: windows下,怎样用C语言在桌面创建一个文件 -
善询穿心: 为画图板程序(mspaint.exe)创建一个快捷方式即可.以Windows 7旗舰版操作系统为例:1.打开系统分区\Windows\System32文件夹,找到mspaint.exe文件,在这个文件上单击鼠标右键,在弹出的菜单中选择“复制”.2.打开需要创建画图板...

东阳市19555311733: 如何用C语言在WINDOWS下实现管道通信 -
善询穿心: bind() 3.connect() 4.listen() 5.sendto() 和recvfrom() 8.close() 和shutdown() 9.get..accept() 6.send() 和recv() 7,比如如下接口都可以在c下进行调用 1.socket() 2mfc只是对socket进行了一些封装,大部分人做网络编程都是用的原始的socket

东阳市19555311733: 高手们帮帮忙……Windows下该怎样用c语言实现定时关机? -
善询穿心: C 语言,用 system 调 start 和 shutdown 即可:system("Start /MIN shutdown /s /t 7200"); 时间参数 以秒计,最大约 10 年,所以 2 小时 可以直接 填入 7200.

东阳市19555311733: 如何用c语言在windows环境下实现简单的web服务器 -
善询穿心: 用C语言开发WEB,可以用C++BUILDER6,称ISAPI,一般人可能做不起来,有点麻烦;唯一是速度很快,别人看不到源码,掌握了编程套路,也可以开发应用;缺点:1.不是解释性语言,做的WEB调试非常麻烦;现在做WEB开发的,用C#、JAVA较多;都是解释性的语言;2.因为是.DLL的二进制代码,一般商业网站不给予运行的环境,因为网站服务器会被你可能搞瘫,安全性得不到保障;所以,你得自备网页服务器;3.得不到技术支持,因为没几个人会这种开发;

东阳市19555311733: 如何在Windows下运行C语言编写的程序? -
善询穿心: 可以.tc编的dos程序运行于Windows下的dos环境,这个环境有一定约束,但是大部分dos程序还是能运行的.dev c++可以编Windows程序,更可以运行了.希望采纳

东阳市19555311733: 用C语言如何编写windows应用程序? -
善询穿心: 可以使用visual c++,输入好代码后编译就能生成EXE可执行文件

东阳市19555311733: windows 系统下的c语言如何实现求一个算法的执行时间 -
善询穿心: #include int main(void) { struct time t; gettime(&t); printf("The current time is: %2d:%02d:%02d.%02d\n", t.ti_hour, t.ti_min, t.ti_sec, t.ti_hund); return 0; }

东阳市19555311733: C语言怎么直接在windows环境下运行 -
善询穿心: 谁告诉你linux全是用c写的?没有任何操作系统可以完全由高级语言来编写.直到现在linux依然有10%到20%的底层系统是由汇编语言来写.这部分负责直接参与分配内存和控制cpu工作分配,而这些工作是c无法做到的.单片机里存有已经用汇编语言所写的c语言的运行系统,所以可以直接调用.如果你在一台没有安装任何系统的电脑上运行c程序是绝对不可能的.谁来给你分配内存?谁来调整进度的分配和调用?你以为c程序可以自己做到这些?

东阳市19555311733: C语言怎么在Windows下编译? -
善询穿心: 在Windows下,有很多软件工具可以编译C语言程序的,比如:visual c++ 、VS系列 等等

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网