• python——简单tcp


    python实现简单的tcp通讯

    服务端:

    import socket
    import threading
    import time
    
    #创建socket
    s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    
    #监听端口
    s.bind(('192.168.1.7',9999))
    s.listen(5)
    print 'Waiting for connection...'
    
    def tcplink(sock,addr):
        print 'Accept new connection from %s:%s...' % addr
        sock.send('Welcome!')
        while True:
            data=sock.recv(1024)
            if data=='exit' or not data:
                break
            print '%s:%s' % (addr[0],data)
            sock.send('Hello,%s!'%data)
        sock.close()
        print 'Connection from %s:%s closed.'%addr
        
    while True:
        
        #接受一个新连接
        sock,addr=s.accept()
        
        #创建新线程来处理TCP连接
        t=threading.Thread(target=tcplink,args=(sock,addr))
        t.start()

    特别注意:

    在使用线程时,函数的调用以及参数传递必须使用

    target=tcplink,args=(sock,addr)

    如果使用

    target=tcplink(sock,addr)

    线程会出现阻塞的情况。

    客户端

    import socket
    
    s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    
    s.connect(('192.168.1.7',9999))
    
    print s.recv(1024)
    
    while True:
        data = raw_input('Please intput your mesage:')
        str_mesg = str(data)
        s.send(str_mesg)
        print s.recv(1024)
    
    s.send('exit')
    s.close()

  • 相关阅读:
    更多的bash shell命令
    Docker(一)Docker概述
    SpringCloud(一)版本选择
    Scala 技术笔记之 可变长参数
    嵌入式 ThriftServer in Spark
    Spark 代码走读之 Cache
    Scala 技术笔记之 Option Some None
    Spark作业执行
    Shuffle
    Jetty初探
  • 原文地址:https://www.cnblogs.com/happen-/p/8418791.html
Copyright © 2020-2023  润新知