• Socket 的网络编程


    socket 网络编程的服务端:

    1) 创建socket 套接字。  

    2) 和socket绑定主机地址和端口

    3) socket 主动监听端口,看又没有来连接。

    4) 当执行到 accept() 时, 被动地等待连接来到。 阻塞。 当连接来到时, 调用, 返回与客户端通信的socket,和客户的addr : ip + 新的通信端口。

    5) resv() ,,   send()

    from socket import *
    from time import ctime
    
    HOST='127.0.0.1'
    PORT = 1111
    BUFSIZE= 1024
    ADDR = (HOST,PORT)
    
    tcpSerSock = socket(AF_INET, SOCK_STREAM)
    tcpSerSock.bind(ADDR)
    tcpSerSock.listen(5)
    
    while True:
        print 'waiting for connection...'
        tcpCliSock, addr = tcpSerSock.accept()
    
        print '...connection from:', addr
    
        while True:
            data = tcpCliSock.recv(BUFSIZE)
            print data
            if not data:
                break
            tcpCliSock.send('[%s] %s' %(ctime(), data))
            if data == None:
                tcpCliSock.close()
    
    tcpSerSock.close()

    socket 客户端编程:

    1) 创建客户端的socket 

     2)   调用 connet( addr ) 连接 服务器addr

     3)  数据的发送和接受。

    from socket import *
    from time import ctime
    
    HOST='127.0.0.1'
    PORT = 1111
    BUFSIZE= 1024
    ADDR = (HOST,PORT)
    
    tcpSerSock = socket(AF_INET, SOCK_STREAM)
    tcpSerSock.bind(ADDR)
    tcpSerSock.listen(1)
    
    while True:
        print 'waiting for connection...'
        tcpCliSock, addr = tcpSerSock.accept()
    
        print '...connection from:', addr
    
        while True:
            data = tcpCliSock.recv(BUFSIZE)
            print data
            if not data:
                break
            tcpCliSock.send('[%s] %s' %(ctime(), data))
            if data == None:
                tcpCliSock.close()
    
    tcpSerSock.close()
  • 相关阅读:
    【原】git常见用法
    【转】EDID的简介和解析
    rsa公钥和私钥的生成
    往redis中存储数据是利用pipeline方法
    对于接口文档个的说明内容包括哪些
    blueprint的使用
    flask中如何生成迁移文件
    flask中自定义过滤器
    jsonify
    flask自定义处理错误方法
  • 原文地址:https://www.cnblogs.com/lijins/p/10192818.html
Copyright © 2020-2023  润新知