网络编程

Posted 番茄玛丽

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络编程相关的知识,希望对你有一定的参考价值。

网络协议:

端口号:每个网络程序像操作系统申请唯一端口号

IP地址->计算机的网络接口(网卡)

IP地址找到接收的计算机,端口号找到接收的程序。

 

IP协议:数据被分割成一小块一小块,通过IP包发送出去。     

IP包:内容(要传输的数据、源IP地址、目标地址、源端口、目标端口)

   特点(按块发送、途径多个路由、不保证到达、不保证顺序到达)

TCP协议:通过握手建立连接->对每个IP包编号->确保顺序收到->丢包则重发   

 

TCP编程:

    --->主动发起连接--->

客户端            服务器   

    <------被动响应------<

 

//创建一个基于TCP连接的Socket
import socket;    //导入socket库
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)    //创建一个socket,AF_INET指定IPv4协议,AF_INET6指定IPv6协议,SOCK_STREAM指定面向流的TCP协议
s.connect((IP地址, 端口号))    //标准端口号:web(80)、SMTP(25)、FTP(21), <1024的端口号是Internet的标准服务端口

s.send(‘‘)    //发送数据,HTTP规定客户端先发请求给服务器,格式符合HTTP标准

s.recv(DataSize)    //接收数据,DataSize=1024,即最多接收1K字节

s.close()    //关闭连接

 

服务器进程->绑定一个端口->监听来自其他客户端的连接->有连接->建立socket连接

 

//创建一个socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
//绑定端口
s.blind(IP地址,端口号)    //0.0.0.0绑定到所有网络地址,127.0.0.1绑定到本机地址
//监听端口
s.listen(等待连接的最大数量)    
//永久循环接收来自客户端的连接
while true:
    sock    addr = s.accept()

 

以上是关于网络编程的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段14——Vue的axios网络请求封装

VSCode自定义代码片段14——Vue的axios网络请求封装

VSCode自定义代码片段14——Vue的axios网络请求封装

使用 Pygments 检测代码片段的编程语言

面向面试编程代码片段之GC

如何在 Django Summernote 中显示编程片段的代码块?