zoukankan      html  css  js  c++  java
  • Socket引子

    ===

    '''
    Socket网络编程:
    --应用层:http  smtp  dns  ftp  ssh  snmp  dhcp...
        无论协议是什么本质上都是数据交换,总结为两种方式:收和发
    --传输层(端口Port) TCP  (UDP)
    --网络层(包IP地址) IP
    --数据链路层(报文mac地址)
    TCP三次握手四次断开 握手:syn syn+ack ack
    so....
    把传输层TCP/UDP以下的收和发,封装为Socket
    客户端--服务器   客户端:我是192.168.1.2:8377,我找22.34.6.122:80(balabalabala)
                    服务器:收到来自192.168.1.2:8377的消息(balabalabala),并返回消息(hehehehhe)
    地址簇:(网络层 IP)
    socket.AF_UNIX  本机进程间通信,在127.0.0.1转一圈
    socket.AF_INET IPV4
    socket.AF_INET IPV6
    Socket 类型:(传输层TCP)
    socket.SOCK_STREAM    # TCP协议
    socket.SOCK_DGRAM    # UDP协议
    socket.SOCK_RAW     # 原始套接字,改网络层的东西,可以修改IP地址头,
                    # 洪水攻击(三次握手的时候,客户端不发最后一次ack造成服务器A线程挂起1分钟,
                    在伪造IP再发,B线程再挂起1分钟...不停伪造,服务器会拒绝响应)
    socket.SOCK_ROM # 可靠的UDP形式,保证交付数据但不保证顺序。发过去ABC 可能接收到CAB
    '''
    import socket
    
    server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # IPV4,TCP协议

    TCP/IP

    TCP是面向连接的可靠的传输协议

    socket的两端都要关闭。要吗手动关闭,要吗等超时后系统自动关闭,四次分手才能释放双方的资源

  • 相关阅读:
    HDU 2089 不要62 【数位dp】
    HDU 3507 Print Article(dp+斜率优化)
    HDU 1078 FatMouse and Cheese【记忆化搜索】
    codeforces 366C Dima and Salad 【限制性01背包】
    HDU
    HDU 2844 Coins 【多重背包】(模板)
    hdu 2167 方格取数 【状压dp】(经典)
    poj 1160 Post Office 【区间dp】
    Poj
    HDU 1542 矩形面积并【离散化+线段树+扫描线】
  • 原文地址:https://www.cnblogs.com/staff/p/9521263.html
Copyright © 2011-2022 走看看