• 网络


    一、TCPIP协议

      1.TCPIP协议分层

        (1)四层(七层):链路层(物理层、数据链路层)、网络层(网络层)、传输层(传输层)、应用层(会话层、表示层、应用层)

    二、socket

    #创建tcp  socket
    
    import socket
    
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

    sendData = 'hahaha'; s.sendto(b
    'hahaha', ('192.168.1.1', 8080))          (python3中)
    s.sendto(sendData.encode('utf-8'), ('192.168.1.1', 8080))  (python3中)
    #创建udp socket import socket s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)

      1.udp绑定信息

    from socket import *
    
    #1. 创建套接字
    udpSocket = socket(AF_INET, SOCK_DGRAM)
    
    #2. 绑定本地的相关信息,如果一个网络程序不绑定,则系统会随机分配
    bindAddr = ('', 7788) # ip地址和端口号,ip一般不用写,表示本机的任何一个ip
    udpSocket.bind(bindAddr)
    
    #3. 等待接收对方发送的数据
    recvData = udpSocket.recvfrom(1024) # 1024表示本次接收的最大字节数
    
    #4. 显示接收到的数据
    print recvData
    
    #5. 关闭套接字
    udpSocket.close()
    udp绑定信息

       2.udp广播

    from socket import *
    import sys
    
    dest = ("<broadcast>", 7788)
    
    udp = socket("AF_INET", "SOCK_DGRAM")
    
    udp.setsockopt(SOL_SOCKET, SO_BROADCAST, 1)
    
    s.sendto("haha", dest)
    udp广播

    三、tcp

      1.服务器端

    from socket import *
    
    tcpSocket = socket(AF_INET, SOCK_STREAM)
    
    tcpSocket.bind(("", 8899))
    
    tcpSocket.listen(5)
    
    #newSocket表示新的客户端,clientAddr表示新的客户端的ip、端口
    newSocket, clientAddr = tcpSocket.accept()
    
    recvData = newSocket.recv(1024)
    
    print("%s:%s"%(str(clientAddr), recvData))
    
    newSocket.close()
    tcpSocket.close()

       2.客户端

    from socket import *
    
    tcpSocket = socket("AF_INET", SOCK_STREAM)
    
    addr = ("192.168.1.1", 7878)
    
    # 连接服务器
    tcpSocket.connect(addr)
    
    sendData = input("请输入要发送的数据:")
    
    # 发送数据
    tcpSocket.send(sendData)
    
    # 接收服务器发送的数据
    recvData = tcpSocket.recv(1024)
    
    tcpSocket.close()
  • 相关阅读:
    导航栏的修改
    [题解](背包)luogu_P4095 eden的新背包问题
    [題解](貪心/堆)luogu_P2107小Z的AK計劃
    [題解](最短路)luogu_P2384最短路
    [題解](單調隊列dp)luogu_P1725琪露諾
    [題解](單調隊列/水)luogu_P3088擠奶牛
    [題解](單調隊列dp)【2016noip福建夏令營】探險
    [題解](水/最短路)出题人大战工作人员
    [题解](最短路)最短路点数
    [題解]luogu_P1613跑路(最短路/倍增)
  • 原文地址:https://www.cnblogs.com/peilanluo/p/8414583.html
Copyright © 2020-2023  润新知