zoukankan      html  css  js  c++  java
  • 网络编程(一)

    网络协议:

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

    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()

  • 相关阅读:
    8月面试题目收录
    html5读取本地文件,图片预览
    Identity Server4资料
    vue与Element实际应用参考
    webpack与vue环境搭建(转载)
    .NET使用Bogus生成大量随机数据(转载)
    Docker笔记:常用服务安装——Nginx、MySql、Redis(转载)
    RabbitMQ操作代码封装
    RSA加密与解密
    .NET CORE编写控制台程序应有的优雅姿势(转载)
  • 原文地址:https://www.cnblogs.com/tomatokely/p/8978077.html
Copyright © 2011-2022 走看看