python学习2----网络编程

news/2024/5/18 11:52:44 标签: python, udp, tcp/ip
python">四次挥手发了四个数据包
主动发起断开的一方  等待2msl时间才可以断开
服务端开启 address already in use
设置套接字 地址重用 避免相邻两次链接地址冲突

tcp_server_socket = socket.socket(socket.AF_INET,socket.SOCKET_STREAM)


tcp_server_socket.setsockopt(当前套接字,属性名,属性值)

tcp_server_socket.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,True)


IP地址 Internet protocol address 互联网协议地址
全球的IP地址不同
127.0.0.1 代表自己内部的IP地址 永远只能访问自己无法访问外网
127001每台电脑自己都有

DN domain name 域名为一个网址 特殊的名字 方便记忆
localhost 是本机的域名
https://wanwang.aliyun.com/?spm=5176.19720258.J_2686872250.4.e9392c4aB96nKA&scm=20140722.M_6147.P_4639.MO_401-ID_5933523-CID_715-ST_3903-V_



浏览器访问服务器的过程:
DNS服务器可以看作一个通讯录  姓名---域名   电话---IP地址
DNS  doman name system 域名解析系统  把域名转换为对应得ip地址

hosts是本地的DNS  DNS中就是IP地址和域名对应得关系表
hosts文件是隐藏文件 系统文件 没有扩展名的 文件
一、什么是hosts文件?

hosts文件是一个用于储存计算机网络中各节点信息的计算机文件。这个文件负责将主机名映射到相应的IP地址。hosts文件通常用于补充或取代网络中DNS的功能。和DNS不同的是,计算机的用户可以直接对hosts文件进行控制。
二、hosts的作用是什么?

1、hosts文件也可以用于其它情况,例如可以将已知的广告服务器重定向到无广告的机器(通常是本地的IP地址:127.0.0.1)上来过滤广告。同时也可以通过不下载网络广告,从而减少带宽。使用hosts文件还可减少对DNS服务器的访问来加快访问速度并减少带宽消耗。

2、hosts文件的另一个重要用途就是用于拦截一些恶意网站的请求,从而防止访问欺诈网站或感染一些病毒或恶意软件。但同时,这个文件也可能被病毒或恶意软件所利用来阻止用户更新杀毒软件或访问特定网站。

3、另外也可以通过修改hosts文件来强制将网站指定到正确的IP上,从而访问那些因为某些原因不能访问的站点。此外一些软件的破解激活也经常用到hosts文件,原理就是屏蔽软件自动连接官方服务器验证激活信息是否正确。

hosts文件 的路径
windows:C:\Windows\System32\drivers\etc
linux的hosts  etc/hosts

浏览器--输入网址-本地DNS服务器查询ip(为一个文件)--远程DNS服务器--建立tcp连接
根域名服务器 13--------------------------------
http协议 主要来发布和传输html页面 网页
实现浏览器与服务器直接的协议超文本传输协议
互联网应用最为广泛的协议
属于应用层的协议
客户端 应用层 HTTP客户端 ----传输层 tcp---- 网络层 IP---- 链路层 网络
服务器 应用层 HTTP客户端 ----传输层 tcp---- 网络层 IP---- 链路层 网络

请求 request----响应response式模式
http协议分为两部分: 请求协议  响应协议

http协议都是由一个个简单的协议项组成
每一个协议单独占一行
其格式为  协议名:协议内容(协议值)

------------------------------------------------
http协议格式查看
使用谷歌浏览器查看http协议的格式
html是一种用来定义网页的文本
http协议格式查看【重点】
右键----检查----network----刷新
更多----开发者工具
F12


--------------------------------
udp的广播地址  x.x.x.255  或者255.255.255.255
udp聊天器
send_msgs()发送
recv_msgs()接受
main()主入口
绑定套接字  打印菜单

tcp面向连接 可靠的  基于字节流的传输控制协议
面向连接(必须先连接才可以通信 udp不需要连接)
tcp严格区分客户端 和服务器
导入模块
创建套接字
发送数据 send (udp为sendto)
接受数据

tcp网络程序--服务端
导入模块
创建套接字
绑定端口
等待客户端 
使用新的套接字接受客户端发送信息
关闭新的套接字
关闭服务器
---------------------------------------

http请求报文格式

请求报文格式:
请求行
	请求方式 资源路径 协议及版本\r\n
请求头
 	协议项
	协议名:协议值
请求空行
请求主体


http://www.niftyadmin.cn/n/1305209.html

相关文章

PL/SQL建表时中文乱码

1、错误描述 (1)创建数据库表,备注中填写中文 (2)点击“Apply”,备注中的中文显示为“????”,出现乱码 (3)在系统环境变量…

Oracle查询客户端编码集

Oracle查询客户端编码集 SQL> select userenv(language) from dual;USERENV(LANGUAGE) ---------------------------------------------------- AMERICAN_AMERICA.ZHS16GBK

python学习3----多线程

102 多任务 同一时间多个任务执行 多个进程 操作系统可以同事运行多个任务 多核的cpu已经非常的普及 单核的cpu也可以执行多个任务#!/usr/bin/python # Write Python 3 code in this online editor and run it. print("Hello, Wo rld!"); #线程的基本使用 #使…

Error: PLS-00201: 必须声明标识符 'EVEN'

1、错误描述 Compilation errors for FUNCTION SCOTT.ODDError: PLS-00201: 必须声明标识符 EVEN Line: 4 Text: Result : not Even(Value);Error: PL/SQL: Statement ignored Line: 4 Text: Result : not Even(Value); 2、错误原因create or replace function Odd(Value in in…

python学习笔记4---进程

#进程也是实现多任务的一种方式 #进程是资源分配的最小单位 也是线程的容器 进程包含多个线程 没有进程线程不可以运行 #线程 cpu调度的最小单位 #进程包含线程#程序是固定不变的 而进程会根据运行的需要 让操作系统动态分配各种资源的 #程序 如 exe.py #进程 一个程序运行起…

ORA-01938: 必须为 CREATE USER 指定 IDENTIFIED BY

1、错误描述 SQL> create user yhd;create user yhdORA-01938: 必须为 CREATE USER 指定 IDENTIFIED BY 2、错误原因由于创建user语法 create user yhd identified by scott account unlock; 但是上述SQL不完整3、解决办法 create user yhd identified by scott account unl…

ros get_param学习记录

通过get_param可以获得和对程序进行传递参数 启动以下程序 先启动roscore python test.py _base_width:2 此时得到的结果 base_width 2 rate的值是初始的默认值为50 import rospy def getparam():rospy.init_node("twist_to_motors")nodename rospy.get_name…

ros学习记录 ros param 参数的使用与编程的方法

打开小乌龟 roscore rosrun turtlesim turtlesim_node /*********************************************************************** Copyright 2020 GuYueHome (www.guyuehome.com). ***********************************************************************//*** …