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

    17 . Go之网络编程

    IP地址实际上是一个32位整数(称为IPv4),以字符串表示的IP地址如`192.168.0.1`实际上是把32位整数按8位分组后的数字表示,目的是便于阅读。 IPv6地址实际上是一个128位整数,它是目前使用的IPv4的升级版,以字符串表示类似于`2001:0db8:85a3:0042:1000:8a2e:0370:7334`。 TCP协议则是建立在IP协议之上的。TCP协议负责在两台计算机之间建立可靠连接,保证数据包按顺序到达。TCP协议会通过握手建立连接,然后,对每个IP包编号,确保对方按顺序收到,如果包丢掉了,就自动重发。 许多常用的更高级的协议都是建立在TCP协议基础上的,比如用于浏览器的HTTP协议、发送邮件的SMTP协议等。 一个TCP报文除了包含要传输的数据外,还包含源IP地址和目标IP地址,源端口和目标端口。 端口有什么作用?在两台计算机通信时,只发IP地址是不够的,因为同一台计算机上跑着多个网络程序。一个TCP报文来了之后,到底是交给浏览器还是QQ,就需要端口号来区分。每个网络程序都向操作系统申请唯一的端口号,这样,两个进程在两台计算机之间建立网络连接就需要各自的IP地址和各自的端口号。 一个进程也可能与多个计算机建立链接,因此他会申请很多端口. ​ 了解了TCP/IP协议的基本概念,IP地址和端口的概念,我们就可以开始进行网络编程了。

    05

    提升python运行速度的一些技巧

    大数据时代,Python 是目前使用最广泛的编程语言之一,它是一种解释型高级通用编程语言,具有广泛的用途,几乎可以将其用于所有事物。其以简单的语法、优雅的代码和丰富的第三方库而闻名。python除了有很多优点外,但在速度上还有一个非常大的缺点。虽然Python代码运行缓慢,但可以通过下面分享的5个小技巧提Python运行速度。 1、选择合适的数据库结构,使用正确的数据结构对python脚本的运行时间有显着影响。 2、善用强大的内置函数和第三方库,如果你正在使用python并且仍在自己编写一些通用函数,那建议可以试试 Python提供的库和内置函数来帮助你不用编写这些函数。 3、避免循环重复计算,如果你有一个迭代器,必须用它的元素做一些耗时计算,比如匹配正则表达式。你应该将正则表达式模式定义在循环之外,因为最好只编译一次模式,而不是在循环的每次迭代中一次又一次地编译它。只要有可能,就应该尝试在循环外进行尽可能多的运算,比如将函数计算分配给局部变量,然后在函数中使用它。 4、访问目标网站过程中多做反爬措施,尤其是一些比较有价值的网站对IP的要求很严。在访问的过程中需要加上高质量的IP。代理有很多的选择,比如使用隧道模式的代理。这里我们示例的亿牛云爬虫代理IP,简直的代理IP的添加方式如下:

    02

    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

    windows下获取TOA的方法

    目前互联网业界主流的服务器开发系统主要包括linux和windows两款操作系统,很多网络服务商需要获取客户端的真实IP和Port,特别是IP地址,对业务策略进行制定,优化;同时客户端的IP和Port信息作为基本的统计数据,对线上业务运营的监控和评估具有非常重要的意义。大部分情况下,服务器端可以通过网络API直接获取连接的网络信息,但是针对服务器前侧添加了代理的网络框架来说,就无法直接通过网络API来获取了。而TOA通过扩展TCP首部的可选字段,可以很好的将客户的真实的IP和Port信息传递到服务器端。因此需要一种手段可以在服务器侧来解析TOA字段,linux系统下的获取在业界有比较成熟的方法获取,但是windows系统下至今没有一种成熟的方案去获取。

    03
    领券