zoukankan      html  css  js  c++  java
  • Python Socket学习之旅(二)

    • Socket函数

    注解:

    Socket的close和shutdown--结束数据传输: close-----关闭本进程的socket id,但链接还是开着的,用这个socket id的其它进程还能用这个链接, 能读或写这个socket id shutdown--则破坏了socket 链接,读的时候可能侦探到EOF结束符,写的时候可能会收到一个 SIGPIPE信号,这个信号可能直到socket buffer被填充了才收到,shutdown还有一个关闭方式的参数, 0 不能再读,1不能再写,2 读写都不能。 多进程应用:

    1.如果有多个进程共享一个套接字,close每被调用一次,计数减1,直到计数为0时,也就是所用进 程都调用了close,套接字将被释放。

    2.在多进程中如果一个进程中shutdown(sfd, SHUT_RDWR)后其它的进程将无法进行通信。如果一 个进程close(sfd)将不会影响到其它进程。

    • Socket编程思想

    TCP服务端:

    1 创建套接字,绑定套接字到本地IP与端口 # socket.socket(socket.AF_INET,socket.SOCK_STREAM) , s.bind()

    2 开始监听连接 #s.listen()

    3 进入循环,不断接受客户端的连接请求 #s.accept()

    4 然后接收传来的数据,并发送给对方数据 #s.recv() , s.sendall()

    5 传输完毕后,关闭套接字 #s.close()

    TCP客户端:

    1 创建套接字,连接远端地址 # socket.socket(socket.AF_INET,socket.SOCK_STREAM) , s.connect()

    2 连接后发送数据和接收数据 # s.sendall(), s.recv()

    3 传输完毕后,关闭套接字 #s.close() 

  • 相关阅读:
    hdu 5366 简单递推
    hdu 5365 判断正方形
    hdu 3635 并查集
    hdu 4497 数论
    hdu5419 Victor and Toys
    hdu5426 Rikka with Game
    poj2074 Line of Sight
    hdu5425 Rikka with Tree II
    hdu5424 Rikka with Graph II
    poj1009 Edge Detection
  • 原文地址:https://www.cnblogs.com/IT-LearnHall/p/9426038.html
Copyright © 2011-2022 走看看