Socket网络编程知识点

静态方法
    与类无关,不能访问类里的任何属性和方法
类方法
    只能访问类变量
属性@property
    把一个方法变成一个静态属性,
    flight.status
    @status.setter
    flight.status = 3
    @status.delter
反射
    getattr(obj,str)
    setattr(obj,str,val)
    hasattr(obj,str)
    delattr(obj,str)

__new__
class Foo(object):
    def __call__()
        print"call"

Foo()() #执行call方法

__metaclass__ 用来定义这个类以怎样的形式被创建

try
    ...
except (ValueError,KeyError),e  #in 2.7
except (ValueError,KeyError) as e : 3.x

except Exception as e:放在异常处理最后面,

else: #没发生异常,就执行

finally, 无论如何都执行

raise ValueError

断言
assert type(obj.name) is int
print(obj.name /2)

socket
    tcp/ip  send, recv
    udp

    family address
        AF.INET  ipv4
        AF.INET6
        AF.UNIX  。local
    socket protocol type
        sock.SOCK_STREAM  tcp/ip
        socket.SOCK_DGRAM   数据报式socket , for UDP


    服务端
    server = socket.socket(AF.INET,sock.SOCK_STREAM)
    server.bind(localhost,9999)
    server.listen()
    while True:
        conn,addr = server.accept() #阻塞
        while True:
           print("new conn",addr)
           data = conn.recv(1024) #8192  #recv默认是阻塞的

           if not data:
                break #客户端已断开, conn.recv收到的就都是空数据,
           print(data)
           conn.send(data.upper())
    client
       client = socket.socket()
       client.connect(serverip, 9999 )
       client.send(data)
       client.send(data)
       client.recv(dat)

    socket 粘包

posted @   西门运维  阅读(322)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类
点击右上角即可分享
微信分享提示