Python基础教程之tcp socket编程详解及简单实例

1114次阅读  |  发布于5年以前

Python tcp socket编程详解

初学脚本语言Python,测试可用的tcp通讯程序:

服务器:


    #!/usr/bin/env python 
    # -*- coding: utf-8 -*- 

    import socket 
    import threading 
    import time 

    def tcplink(sock, addr): 
      print('Accept new connection from %s:%s...' % addr); 
      sock.send(b'Welcome!!!'); 
      while True: 
        data = sock.recv(1024); 
        time.sleep(1); 
        if not data or data.decode('utf-8') == 'exit': 
           break; 
        sock.send(b'Hello, %s!' % data); 
      sock.close(); 
      print('Connection from %s:%s closed.' % addr); 


    if __name__ == "__main__": 

      s = socket.socket(socket.AF_INET, socket.SOCK_STREAM); 

      s.bind(('127.0.0.1', 9090)); 
      s.listen(8); #监听8个客户端; 
      print('waiting for connection...'); 

      while True: 
        sock, addr = s.accept(); 
        t = threading.Thread(target=tcplink, args=(sock,addr)); 
        t.start(); 

客户端:


    #!/usr/bin/env python 
    # -*- coding: utf-8 -*- 

    import socket 

    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM); 
    s.connect(('127.0.0.1', 9090)); 
    print(s.recv(1024).decode('utf-8')); 
    for data in [b'lk', b'aa', b'bb']: 
      s.send(data); 
      print(s.recv(1024).decode('utf-8')); 
    s.send(b'exit'); 
    s.close(); 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8