作者:j相知相守相爱 | 来源:互联网 | 2017-05-14 02:44
这篇文章主要介绍了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();