python-17 socket连接测试

判断 socket 是否连接正常

import socket
 
def isNetChainOK(testserver=('www.baidu.com', 443)):
    so = socket.socket()
    so.settimeout(3)
    try:
        status = so.connect_ex(testserver)
        if status == 0:
            so.close()
            print("网络正常!")
        else:
            print("网络异常,请检查网络!")
    except Exception:
        print("网络异常,请检查网络!")
 
if __name__ == '__main__':
    isNetChainOK()
HTTP协议:简单对象访问协议,对应于应用层 ,HTTP协议是基于TCP连接的

  tcp协议: 对应于传输层

  ip协议: 对应于网络层

  TCP/IP是传输层协议,主要解决数据如何在网络中传输;而HTTP是应用层协议,主要解决如何包装数据。

  Socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API),通过Socket,才能使用TCP/IP协议。

  http连接:http连接就是所谓的短连接,即客户端向服务器端发送一次请求,服务器端响应后连接即会断掉;

  socket连接:socket连接就是所谓的长连接,理论上客户端和服务器端一旦建立起连接将不会主动断掉;但是由于各种环境因素可能会是连接断开,比如说:服务器端或客户端主机down了,网络故障,或者两者之间长时间没有数据传输,网络防火墙可能会断开该连接以释放网络资源。
posted @ 2022-03-03 10:18  冰冷的火  阅读(1065)  评论(0)    收藏  举报