首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    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

    深入理解计算机系统(第三版)/ CSAPP 杂谈,第11章:网络编程

    int socket(int domain, int type, int protocol) // 创建套接字描述符,成功返回非负数描述符,失败为-1 int connect(int clientfd, const struct sockaddr *addr, socklen_t addrlen) // 连接服务器,成功为 0,失败为 -1 int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen) // 连接客户端,成功为 0,失败为 -1 int listen(int sockfd, int backlog) // 等待客户端连接。此函数将主动套接字转化为监听套接字,成功为 0,失败为 -1 int accept(int listenfd, struct sockaddr *addr, socklen_t addrlen) // 等待来自客户端的连接,成功返回非负数连接描述符,失败为-1 int getaddrinfo(const char* host, const char* service, const struct addrinfo* hints, struct addrinfo** result) // 用于主机名,主机地址,服务名,端口号的字符串表示转换成 addrinfo // addrinfo 是一个列表,客户端调用 getaddrinfo 后需要遍历 result 这个列表,直到某个元素可以执行 socket 和 connect 成功 // host 可以是域名也可以是 ip 地址 // service 可以是服务名(http)或端口号 // hints 用于设置一些参数以便对返回的 result 列表做更好的控制 int getnameinfo(const struct sockaddr *sa, socklen_t salen, char* host, size_t hostlen, char *service, size_t servlen, int flags) // 用于 sockaddr 转换成 主机名,主机地址,服务名,端口号的字符串表示 // 简化版(非 Linux 内核内置) int open_clientfd(char *hostname, char *port) // 客户端连接服务器 int open_listenfd(char* port) // 服务器监听端口

    03

    软考高级: URL 知识点和例题

    URL(统一资源定位器)的结构是网络上定位资源的一种方式。一个典型的URL由几个部分组成: 协议(Scheme): 定义了用于访问资源的协议类型,如http、https、ftp等。例如,在 http://www.example.com中,http是协议。 主机名(Hostname): 指定访问资源的主机或域名,如在http://www.example.com 中,www.example.com 是主机名。其中 www 是主机名的一部分,通常用于指代一个网站的主机。 端口(Port)(可选): 通过网络与主机上的应用程序进行通信的端口号,默认情况下,http 协议使用 80 端口,https 使用 443 端口。如果使用非标准端口,则需要显式指定,如 http://www.example.com:8080 。 路径(Path): 资源在服务器上的具体地址。例如,在http://www.example.com/index.html 中,/index.html 是路径,它指向服务器上名为index.html 的文件。 查询字符串(Query string)(可选): 以问号(?)开始,之后是一系列的参数,用来传递额外信息给服务器。例如,http://www.example.com/search?q=query 中,q=query 是查询字符串,表示对 ‘search’的查询参数是’query’。 锚点(Fragment)(可选): 以井号(#)开始,用于指向页面内部的特定部分。不会发送到服务器,由浏览器处理。例如,在http://www.example.com/index.html#section1 中,#section1 是锚点,它指导浏览器显示名为 section1 的页面部分。

    00
    领券