您现在的位置是:首页» windows系统» windows网络编程案例教程,windows网络编程基础教程第2版

windows网络编程案例教程,windows网络编程基础教程第2版

2024-07-13 06:42:14
本内容由系统网小编为大家分享,Windows系统安装教程、办公系统、软件怎么使用、软件使用教程、办公软件攻略等信息。Winsock是Windows系统中使用Socket和网络编程接口的网络编程功能。在共同的Windows平台上 Winsoc

本内容由系统网小编为大家分享,Windows系统安装教程、办公系统、软件怎么使用、软件使用教程、办公软件攻略等信息。

Winsock是Windows系统中使用Socket和网络编程接口的网络编程功能。

在共同的Windows平台上 Winsock有两个主要版本, 他有两个不同的版本。他们是Winsock1和Winsock2。您必须引用标题 WINSOCK. H 。如果申请是为了利用Winsock2而设置的,它将使用它。我们必须引用WINSICOCK2.H。还有另外一个 MSWSOCK。其目的是协助扩大Windows系统高性能网络方案。这是我们对2011年印度选举的特别报道的一部分。WSOCK32.LIB,图书馆文件,也需要。使用WINSOCK2.H.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0WS2_32.LIB是必需的。如果我们使用 MSWSOCK。 H 的 API 扩展,MSWSOCK. Lib 需要 。正确引用了头文件,它也和适当的图书馆档案连在一起您为 WINSOCK 网络应用程序设置了环境 。

一般来说,OSI模式是更广为人知的网络模式。它分为七层,即物理层,数据链路层,网络层,传输层,会话层,表示层以及应用层。TCP/IP模式相当受欢迎。在Windows操作系统中TCP/IP协议模式也用于东道方和网络之间的通信。利用温索克编程也就是说,通信必须利用诸如TCP/IP等适当的议定书进行。

在温索克,提供了TCP/IP协议的合并地址,即袜子体结构,其具体定义可在MSDN找到:

其中:

Sin-Family的价值必须是AF_INET,它代表家庭,作为TCP/IP家庭。 我们知道,TCP/IP协议中的端对端通信是通过IP地址和港口号进行的。 In_addr 也是一种结构。 它的构造如下:

注:具体应用和注释见MSDN。

本条随后将简要讨论TCP协议的实际执行情况。

在上述流程图中,将讨论实现过程,即以下功能:

1. 合成创建:采用对TCP协议进行预防,必须使用流程合成,因为TCP协议是用字节执行数据传输的。

[cpp] view plain copy

sockets; s=::socert(AF_INET,SOCK_SREAM,0);

其中:

由于地址格式已按TCP/IP协议中规定的地址格式在 af 中定义,最后参数协议类型被指定为 0;

2、绑定地址信息

使用函数绑定() 将地址信息捆绑起来 。 此程序已经完成, 组合和地址信息都具有约束力 。

参照代码:

[cpp] view plain copy

sockaddr_inaddr; addr.sin_family=AF_INET; addr.sin_port=htons(80); addr.sin_addr.S_un.S_addr=INADDR_ANY; ::bind(s,(sockaddr)&addr,sizeod(addr));

3. 作为TCP服务器,它必须始终处于监听状态,听取客户的连接请求,这是通过监听()方法实现的。

4. 这一功能与约束功能的结构相似,因为它发送客户的连接请求。

Sockaddr 将地址指针定义为服务器的地址指针。

五. 服务器接受客户端连接请求。 实现功能类似于接受( ) 、 结构连接( ) 和绑定( ), 但定义的结构指针应该是客户的地址指针 。

最后,本文件介绍了TCP协议执行守则,平台为Visionc+6.0。 实施控制平台方案。

服务器代码:

[cpp] view plain copy

#include <winsock2.h> //包含头文件

#include <stdio.h>

#include <windows.h>

# pragmacomment( lib, "WS2_ 32. lib () // 手机在行动区内的链接 )

Intmain () // 初始主机函数

{

WSADATatadata;//WSADATA 结构物体定义

WORDw = MakeWORD (2,0);/定义的Verion number

字符ztext[] = “欢迎使用” ; / 声明并初始化客户端的字符阵列 。

::WSAStartup(w,&data);//初始化套接字库

SOCKETs, s1;// 连接合成定义以及数据接收和发送合成把手

s= 套接字( AF_ INET, SOCK_ STREAM, 0;// TCP套接字创建)

Sockaddr_inaddr, addr2; // 套件地址地址结构定义

Intn = 大小( addr2) ; // 确定包装的地址结构的大小 。

我不知道你在说什么,Ardr.sin_family=AF_INET;//地址结构初始化

addr.sin_port=htons(75);

addr.sin_addr.S_un.S_addr=INADDR_ANY;

::bind(s,(sockaddr*)&addr,sizeof(addr));//绑定套接字

* 听(s),5;/电话

f 打印 (“ 服务开始” ); // 输出提示数据

while(true)

{

s1=::accept(s,(sockaddr*)&addr2,&n);//接受连接请求

if(s1!=NULL)

{

printf (“%s”已经连接到“int_intoa”(addr2)((sin_address));

向有 *Send(s1, sztext, 大小(sztext), 0) 的客户端发送字符阵列;

}

* 闭口室;// 套接字处理关闭

::closesocket(s1);

* WSACleanup();/Binder图书馆发行

如果符合条件( getchar () / ), 申请将被终止 。

{

返回0;//正常程序结束

}

else

{

* 睡眠(100);/应用睡眠0.001秒。

}

}

}

客户端代码:

[cpp] view plain copy

#include <winsock2.h> //包含头文件

#include <stdio.h>

#include <windows.h>

# pragmacomment( lib, "WS2_ 32. lib () // 手机在行动区内的链接 )

Intmain () // 初始主机函数

{

WSADATatadata;//WSADATA 结构物体定义

WORDw = MakeWORD (2,0);/定义的Verion number

::WSAStartup(w,&data);//初始化套接字库

SOCKETS/ 连接控管定义

charsztext[10]={0};

s= 套接字( AF_ INET, SOCK_ STREAM, 0;// TCP套接字创建)

Sockaddr_ inaddr; // 套件地址地址结构定义

我不知道你在说什么,Ardr.sin_family=AF_INET;//地址结构初始化

addr.sin_port=htons(75);

addr.sin_addr.S_un.S_addr=inet_addr(“127.0.0.1”);

printf (“ 客户已启动 ” ); // 输出提示数据

::connect(s,(sockaddr*)&addr,sizeof(addr));

::recv(s,sztext,sizeof(sztext),0);

printf("%s ",sztext);

* 闭口室;// 套接字处理关闭

* WSACleanup();/Binder图书馆发行

如果符合条件( getchar () / ), 申请将被终止 。

{

返回0;//正常程序结束

}

else

{

* 睡眠(100);/睡眠方案

}

}

XTw.com.Cn系统网专业应用软件下载教程,免费windows10系统,win11,办公软件,OA办公系统,OA软件,办公自动化软件,开源系统,移动办公软件等信息,解决一体化的办公方案。

免责声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。内容仅供参考使用,不准确地方联系删除处理!

联系邮箱:773537036@qq.com