通过Python脚本理解系统线程
2014-04-18 17:57
399 查看
from socket import *
HOST='localhost'
#定义主机
ADDR=(HOST,PORT)
#定义元组
tcpSerSock.listen(1) #监听用户请求
def client(tcpCliSock,num): #定义函数。由于thread强行要求调用的函数必须有两个参数。num只是充数,没有特别含义
CliSock=tcpCliSock #将传递进来的客户端socket赋值给CliSock
while True: #定义无限循环
data=CliSock.recv(BUFSIZ) #从用户socket中读取1024大小数据
if not data: ##处理用户请求
print 'con from :',addr <span arial="" narrow',="" arial,="" serif;="" font-size:="" 14px;="" line-height:="" 28px;="" "="" style="padding: 0px; margin: 0px;">#打印客户端信息
thread.start_new_thread(client,(tcpCliSock,1)) #在Python中使用线程就靠这句了!Python会开始一个新的线程来运行client函数并以元组的形式传递给这个函数参数!
tcpSerSock.close() #这句依然不会执行!
threading是官方推荐编写线程使用的模块。还是有必要了解thread的,不仅可以让我们更加了解系统线程的运行方式,也能找到thread与threading及Queue之间的区别,进而更好的学习掌握threading!
下面是Python客户端程序。如果你可以使用telnet进行测试,那么以下内容可以忽略。
from socket import *
HOST='localhost'
PORT=21567
BUFSIZ=1024
ADDR=(HOST,PORT)
tcpCliSock=socket(AF_INET,SOCK_STREAM)
tcpCliSock.connect(ADDR)
while True:
data=raw_input("> ")
if not data:
break
tcpCliSock.send(data)
data=tcpCliSock.recv(BUFSIZ)
if not data:
break
print data
tcpCliSock.close()
HOST='localhost'
#定义主机
ADDR=(HOST,PORT)
#定义元组
tcpSerSock.listen(1) #监听用户请求
def client(tcpCliSock,num): #定义函数。由于thread强行要求调用的函数必须有两个参数。num只是充数,没有特别含义
CliSock=tcpCliSock #将传递进来的客户端socket赋值给CliSock
while True: #定义无限循环
data=CliSock.recv(BUFSIZ) #从用户socket中读取1024大小数据
if not data: ##处理用户请求
print 'con from :',addr <span arial="" narrow',="" arial,="" serif;="" font-size:="" 14px;="" line-height:="" 28px;="" "="" style="padding: 0px; margin: 0px;">#打印客户端信息
thread.start_new_thread(client,(tcpCliSock,1)) #在Python中使用线程就靠这句了!Python会开始一个新的线程来运行client函数并以元组的形式传递给这个函数参数!
tcpSerSock.close() #这句依然不会执行!
threading是官方推荐编写线程使用的模块。还是有必要了解thread的,不仅可以让我们更加了解系统线程的运行方式,也能找到thread与threading及Queue之间的区别,进而更好的学习掌握threading!
下面是Python客户端程序。如果你可以使用telnet进行测试,那么以下内容可以忽略。
from socket import *
HOST='localhost'
PORT=21567
BUFSIZ=1024
ADDR=(HOST,PORT)
tcpCliSock=socket(AF_INET,SOCK_STREAM)
tcpCliSock.connect(ADDR)
while True:
data=raw_input("> ")
if not data:
break
tcpCliSock.send(data)
data=tcpCliSock.recv(BUFSIZ)
if not data:
break
print data
tcpCliSock.close()
相关文章推荐
- 通过Python脚本理解系统线程 推荐
- 通过Python脚本理解系统线程
- 通过Python脚本理解系统线程
- 通过Python脚本理解系统进程间通信
- 通过Python脚本理解系统进程 推荐
- 通过Python脚本理解系统进程间通信 推荐
- 通过Python脚本理解系统进程间通信
- 通过Python脚本理解系统进程
- PHP通过系统命令执行Python脚本
- 【脚本语言系列】关于Python进程线程管理系统模块,你需要知道的事
- 【Python运维脚本】Python监控系统负载
- Qt通过python脚本调用Tensorflow环境搭建
- 使用python脚本执行系统命令
- 获取linux系统信息的一个python脚本
- 毕业设计-基于深度神经网络的语音关键词检出系统-使用python脚本作词频统计-TIMIT
- Android系统中异步消息处理线程机制的理解
- Python使用面向对象方式创建线程实现12306售票系统
- 使用一个简单的python脚本将一个本地文件以码流的形式,通过UDP协议发送到对端:
- linux-raspbian系统下编写python脚本显示树莓派的当前cpu温度、使用率、内存和硬盘信息
- 通过Load table命令将数据文件加载到Sybase IQ数据库里面的Python脚本