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

yipeiwu_com7年前Python基础

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

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

相关文章

删除目录下相同文件的python代码(逐级优化)

删除目录下相同文件的python代码(逐级优化)

这两天闲来无事在百度上淘了点图片,不多,也就几万张吧,其中有不少美女图片奥!哈哈!这里暂且不说图片是怎么获得的,咱聊聊得到图片以后发生的事。 遇到的第一个问题就是有些图片没有后缀名。在w...

使用Python的Tornado框架实现一个一对一聊天的程序

按思路来聊: 类似微信,点击用户可以进入一对一聊天页面;另有聊天框列表包含所有存在聊天记录的一对一聊天框,点击进入聊天页面。 【数据结构】 因为双方都有聊天记录,所以每一个聊天实际上得储...

75条笑死人的知乎神回复,用60行代码就爬完了

75条笑死人的知乎神回复,用60行代码就爬完了

读:知乎神回复都有些什么特点呢?其实爬取知乎神回复很简单,这篇文章我们就来揭晓一下背后的原理。 我们先来观察一下:   大家看出什么规律了么?短小精辟有没有?赞同很多有没有?...

python调用动态链接库的基本过程详解

python调用动态链接库的基本过程详解

动态链接库在Windows中为.dll文件,在linux中为.so文件。以linux平台为例说明python调用.so文件的使用方法。 本例中默认读者已经掌握动态链接库的生成方法,如果不...

Python 中导入csv数据的三种方法

Python 中导入csv数据的三种方法,具体内容如下所示: 1、通过标准的Python库导入CSV文件: Python提供了一个标准的类库CSV文件。这个类库中的reader()函数用...