示例#1
0
def socket_server( input_str ):
    
    os.system( "echo %d >>pid_repo" % os.getpid() ) # store the pid
    host = fuckargs.get( "host" )  # Symbolic name meaning all available interfaces
    port = int( fuckargs.get("port") ) # Arbitrary non-privileged port
    s = socket.socket( socket.AF_INET, socket.SOCK_STREAM )   #定义socket类型,网络通信,TCP
    s.bind( (host, port) )   #套接字绑定的IP与端口
    s.listen( 5 )         #开始TCP监听
    input_str.value = ""
    while True:
        conn, addr = s.accept()   #接受TCP连接,并返回新的套接字与IP地址
        # print 'Connected by', addr    #输出客户端的IP地址
        try:
            while True:
                data=conn.recv(1024)    #把接收的数据实例化
                # 如果不为空
                if len(data) > 11:
                    
                    # 阻塞与等待一下吧,目前折中的做法吧
                    while 1:
                        will_input_str = input_str.value + data + "$_$"
                        if len( will_input_str ) < 40000: break
                    
                    input_str.value = will_input_str
                
                conn.sendall( "done" )  ### 这里暂时约定做“伪回应”
        except:
            conn.close()     #关闭连接
示例#2
0
def socket_server( whether, pre_whether, now_status, action ):
    on_off_dict = { 0: "off", 1: "on" }
    action_dict = { "11": "released", \
                    "10": "pressing", \
                    "00": "pressed", \
                    "01": "releasing" }
    
    os.system( "echo %d >>pid_repo" % os.getpid() ) # store the pid
    host = fuckargs.get( "host" )  # Symbolic name meaning all available interfaces
    port = int( fuckargs.get("port") ) # Arbitrary non-privileged port
    s = socket.socket( socket.AF_INET, socket.SOCK_STREAM )   #定义socket类型,网络通信,TCP
    s.bind( (host, port) )   #套接字绑定的IP与端口
    s.listen( 5 )         #开始TCP监听
    while True:
        conn, addr = s.accept()   #接受TCP连接,并返回新的套接字与IP地址
        # print 'Connected by', addr    #输出客户端的IP地址
        try:
            while True:
                data=conn.recv(1024)    #把接收的数据实例化
                res = { "on_off_status" : on_off_dict.get(now_status.value), \
                        "now_result": whether.value, \
                        "pre_result": pre_whether.value, \
                        "action": action_dict.get(action.value) }
                res = json.dumps( res )
                conn.sendall( res )
        except:
            conn.close()     #关闭连接
示例#3
0
def socket_server( result_str ):
    os.system( "echo %d >>pid_repo" % os.getpid() ) # store the pid
    host = fuckargs.get( "host" )  # Symbolic name meaning all available interfaces
    port = int( fuckargs.get("port") ) # Arbitrary non-privileged port
    s = socket.socket( socket.AF_INET, socket.SOCK_STREAM )   #定义socket类型,网络通信,TCP
    s.bind( (host, port) )   #套接字绑定的IP与端口
    s.listen( 5 )         #开始TCP监听
    while True:
        conn, addr = s.accept()   #接受TCP连接,并返回新的套接字与IP地址
        # print 'Connected by', addr    #输出客户端的IP地址
        try:
            while True:
                data=conn.recv(1024)    #把接收的数据实例化
                conn.sendall( result_str.value )
        except:
            conn.close()     #关闭连接
示例#4
0
    s.bind( (host, port) )   #套接字绑定的IP与端口
    s.listen( 5 )         #开始TCP监听
    while True:
        conn, addr = s.accept()   #接受TCP连接,并返回新的套接字与IP地址
        # print 'Connected by', addr    #输出客户端的IP地址
        try:
            while True:
                data=conn.recv(1024)    #把接收的数据实例化
                if data == "whether":
                    res = whether.value
                elif data == "sum":
                    res = str( sum(sum_list)/2.0 )
                else:
                    res = "-1"
                conn.sendall( res )
        except:
            conn.close()     #关闭连接

# Main process
if __name__ == "__main__":
    usb_arg, bits_arg = fuckargs.get("usb"), int( fuckargs.get("bits") )
    chr = multiprocessing.Value('c', '0')
    sum_list = multiprocessing.Array( 'i', [1]*200 )

    os.system( "echo %d >>pid_repo" % os.getpid() ) # store the pid

    p_serial = multiprocessing.Process( target=get_serial_info, args=(chr, sum_list, usb_arg, bits_arg) )
    p_socket = multiprocessing.Process( target=socket_server, args=(chr, sum_list,) )

    p_serial.start()
    p_socket.start()
示例#5
0
# socket server
def socket_server( result_str ):
    os.system( "echo %d >>pid_repo" % os.getpid() ) # store the pid
    host = fuckargs.get( "host" )  # Symbolic name meaning all available interfaces
    port = int( fuckargs.get("port") ) # Arbitrary non-privileged port
    s = socket.socket( socket.AF_INET, socket.SOCK_STREAM )   #定义socket类型,网络通信,TCP
    s.bind( (host, port) )   #套接字绑定的IP与端口
    s.listen( 5 )         #开始TCP监听
    while True:
        conn, addr = s.accept()   #接受TCP连接,并返回新的套接字与IP地址
        # print 'Connected by', addr    #输出客户端的IP地址
        try:
            while True:
                data=conn.recv(1024)    #把接收的数据实例化
                conn.sendall( result_str.value )
        except:
            conn.close()     #关闭连接

# Main process

ser = serial.Serial( fuckargs.get("usb"), int( fuckargs.get("bits") ) )
string_dict = multiprocessing.Array( "c", '{"temp":-10000, "humi":-10000, "tol":-20000}')

os.system( "echo %d >>pid_repo" % os.getpid() ) # store the pid

p_serial = multiprocessing.Process( target=get_serial_info, args=(string_dict,) )
p_socket = multiprocessing.Process( target=socket_server, args=(string_dict,) )

p_serial.start()
p_socket.start()
示例#6
0
            pass

# socket server
def socket_server( distance ):
    os.system( "echo %d >>pid_repo" % os.getpid() ) # store the pid
    host = fuckargs.get( "host" )  # Symbolic name meaning all available interfaces
    port = int( fuckargs.get("port") ) # Arbitrary non-privileged port
    s = socket.socket( socket.AF_INET, socket.SOCK_STREAM )   #定义socket类型,网络通信,TCP
    s.bind( (host, port) )   #套接字绑定的IP与端口
    s.listen( 5 )         #开始TCP监听
    while True:
        conn, addr = s.accept()   #接受TCP连接,并返回新的套接字与IP地址
        # print 'Connected by', addr    #输出客户端的IP地址
        try:
            while True:
                data=conn.recv(1024)    #把接收的数据实例化
                res = str( distance.value )
                conn.sendall( res )
        except:
            conn.close()     #关闭连接

# Main process
if __name__ == "__main__":
    num = multiprocessing.Value('d', 0.00)
    os.system( "echo %d >>pid_repo" % os.getpid() ) # store the pid

    p_serial = multiprocessing.Process( target=get_serial_info, args=(num,fuckargs.get("usb"), int( fuckargs.get("bits") ),) )
    p_socket = multiprocessing.Process( target=socket_server, args=(num,) )

    p_serial.start()
    p_socket.start()