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

是C语言,不是VC,不是MFC。怎么搭建平台呢。windows下。... 是C语言,不是VC,不是MFC。怎么搭建平台呢。windows下。 展开
 我来答
娱乐小八卦啊a
高粉答主

2020-02-13 · 娱乐小八卦,天天都知道
娱乐小八卦啊a
采纳数:256 获赞数:117839

向TA提问 私信TA
展开全部

需要用到的头文件包含:

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

四舍五不入6
高粉答主

2020-02-13 · 醉心答题,欢迎关注
知道答主
回答量:147
采纳率:100%
帮助的人:2.1万
展开全部

在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等函数读出。如同读出文件中的数据一样。

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

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kaixingui2012
2015-05-16 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6313万
展开全部

在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

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
对抗A范越
2012-08-06 · 超过10用户采纳过TA的回答
知道答主
回答量:34
采纳率:0%
帮助的人:24.8万
展开全部
主要是看采取什么样的协议。是tcp还是udp使用的头文件是不一样的。不过差别都不大。winscok2.h就够用了。不过往深了走其实还是要涉及到其他的,这个普通的套接字编程主要是winscok2.h里面的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hunk0204
2012-08-02 · TA获得超过122个赞
知道答主
回答量:153
采纳率:0%
帮助的人:112万
展开全部
那就是控制台应用程序喽
看孙鑫VC6视频教程网络编程部分
很详细,VC6只是个平台,可以随便用什么来写
主要用到winscok2.h
更多追问追答
追问
C语言可以使用winscok2.h吗?
追答
winsock2我记得是标准c库吧,c语言为什么不能用
如果是vc用的就是windows.h了
如果还不行我明天试试看,现在的电脑没装任何代码编译工具-。-

但这个思路应该是对的,调用C的标准库,有支持socket的

还有个问题lz需要搞明白,我在VC的控制台界面里写代码,那个就可以写成标准C啊,这个和语言没关系,想写C++就用c++,写C就用C

c++的精髓是什么,类,对了,那类又是什么,类说的直白点就是个特殊的结构体
C完全可以使用
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式