首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

windows socket编程c语言_网络编程socket

Windows sockets(简称 Winsock) 是微软的窗口系统结构 (WOSA) 的一部分。它是起源于UNIX上的 Berkeley Software Distribution(BSD) 版本的套接字、并为 Windows 进行了专门地扩展。 Internet 是在 UNIX系统上发展起来的 ,在 UNIX 上有许多成熟的编程接口 ,其中最通用的是一种叫做 sockets(套接字) 的接口。套接字的实质是通信端点的一种抽象 ,它提供一种发送和接 收数据的机制。网络软件商为 Windows 开发一套标准的、通用的 TCP/ IP 编程接口 ,并使之类似于 UNIX下的 sockets ,这就是 Windows sockets ;Windows socket 的实现一般都由两部分组成 :开 发组件和运行组件。开发组件是供程序员开发 Winsock 应用程序使用的、它包括介绍 Winsock实现的文档、Winsock 应用程序接口 (API) 引入库和一些头文件。运行组件是 Winsock 应用程序接口的动态连接库(DLL) ,文件名为 Winsock. DLL ,应用程序在执行时通过装入它来实现网 络通信功能。 最初 ,Winsocket1. 1 版是专门为 Internet 设计的 ,现在的 2. x 版己经不再限于 Internet 和TCP/ IP 协议 ,它通过提供扩展的 API 编程接口 ,把自己的应用范围扩大到现存的和正在出现 的各种网络和协议 ,包括 PSTN、ISDN、无线网、所有的局域网协议、异步传输模式 ATM 等等 ;并且允许应用程序对所建立连接的可靠性、冗余度和带宽进行控制。由此可见 ,Winsock 有着广泛的应用。 Windows sockets 是 Windows 下网络编程的规范。这套规范是 Windows 下得到广泛应用的、开放的、支持多种协议的网络编程接口。它定义并记录了如何使用 API 与 Internet 协议族(IPs、通常我们指的是 TCP/ IP) 连接 ,尤其要指出的是所有的 Windows sockets 实现都支持流套接字和数据报套接字。当我们为客户机/ 服务器开发一个特殊的应用程序时 ,我们可以通过套接字来交换我们的数据结构和数据报 ,以完成应用程序之间的通信。应用程序调用 Winsock 的 API实现相互之间的通讯。Winsock 又利用下层的网络通讯协议功能和操作系统调用实现实际的通讯工作。 它们之间的关系如图 1 所示 :

01
您找到你想要的搜索结果了吗?
是的
没有找到

python六十七课——网络编程(基础知识了解)

网络编程: 什么是网络编程? 网络:它是一种隐形的媒介;可以将多台计算机使用(将它们连接到一起) 网络编程:将多台计算机之间可以相互通信了(做数据交互) 一旦涉及到网络编程,划分为两个方向存在,一方我们称为客户端(cilent),一方我们称为服务端(server) 冲浪概念(上网),打开浏览器举例:访问百度页面 我们可以认为是浏览器的进程和百度服务器之间进行数据交互 IP: IP地址的作用: 如果我们需要上网,每台计算机都需要有一个唯一的识别号(标识),就需要用到ip的概念 【注意事项】: ip地址是每台计算机在网络中的唯一识别(切记) 但是在最初人们是考虑到使用主机名(计算机名称)来查找在网络中直接对应的计算机; 可以多态计算机之间可能存在主机名重复的现象,伴随着完全隐患; 所以我们就舍弃了使用主机名作为计算机的识别,改而使用ip; 如何查看ip(有两种方式): 1).通过控制台 --> 启动cmd,输入ipconfig指令 2).打开网络共享 --> 选择更改适配器设置,选择属性,点击ipv4(双击操作),可以看到ip的信息 对于ip的获取有两种方式: 1).自动获取ip地址 2).手动获取ip地址 ip地址由4个网段组成: 其本质为: 4个字节的二进制数据的组合 二进制数据:10110101110101001000111110101001 十进制数据:数据1数据2数据3数据4 对于每个网段的数据设置有相应的要求:必须是0~255之间 由于每个网段数字都是由1个字节翻译得到的十进制数据,所以最大数值只能为255 以下内容作为尝试需要知道: 1).ping指令: 2).127.0.0.1:本机回环地址(解析为本机的ip),理解:相当于localhost 3).xxx.xxx.xxx.255:广播地址 端口: 一台计算机可能装有很多的应用程序,如果我们需要去实现网络编程, 那么两台计算机之间程序的数据交互需要通过端口号来找到需要的那款程序 总结:端口号可以理解为电脑中的程序(软件)的唯一标识 范围:0~65535之间 【注意】:0~1024之间的端口我们不能直接使用,因为它们被常用的一些服务所占用了 常见的一些端口号如下: http:80 ftp:21 smtp:25 1024~65535之间的端口: mysql:3306 redis:6379 网络编程: 分类: osi参考模型:(七层) tcp/ip参考模型:(四层) python六十七课——网络编程(基础知识了解) 只要理解传输层的作用,确定使用到底是tcp还是udp协议(规则),进行数据传输 socket(套接字): python将网络编程观想的函数都封装到了socket模块中,我们只需要导入socket即可使用 代码核心: 不管是client还是server,获取/得到socket对象才是关键,然后可以调用send或者recv等函数实现操作

02

以网游服务端的网络接入层设计为例,理解实时通信的技术挑战1、前言2、相关文章3、主流网游的网络通信架构原理4、题外话:该如何理解C/M架构?5、网络接入层的作用6、网络接入层的通信协议选择7、网络接入

以现在主流的即时通讯应用形态来讲,一个完整的即时通讯IM应用其实是即时通信(英文简写:IM=Instant messaging)和实时通信(英文简写:RTC=Real-time communication)2种技术组合在一起的一整套网络通信系统。之所以以IM这个简写代称整个即时通讯软件,其实是历史原因了(因为早期的诸如ICQ这样的即时通讯工具,也就是文字聊天,并没有加入实时音视频这样的实时通信技术),对这个话题有兴趣的可以到网上查一查IM的发展历史。

02

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券