zoukankan      html  css  js  c++  java
  • 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()
  • 相关阅读:
    jquery 获取当前元素的索引值
    JQuery中根据属性或属性值获得元素(6种情况获取方法)
    jquery如何获取某一个兄弟节点
    JAVA学习<六>
    JAVA学习<四>
    JAVA学习<三>
    iOS定位到崩溃代码行数
    Swift3.0基础语法学习<五>
    Swift3.0基础语法学习<四>
    Swift3.0基础语法学习<三>
  • 原文地址:https://www.cnblogs.com/lijins/p/10192818.html
Copyright © 2011-2022 走看看