网络编程
位置:首页>> 网络编程>> Python编程>> Python基础教程之tcp socket编程详解及简单实例

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

作者:lqh  发布时间:2021-04-18 12:04:29 

标签:Python,tcp,socket

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();

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

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com