如果没有multitask包,请从
http://python-multitask.googlecode.com/files/multitask-0.2.0.zip下载
http://blog.csdn.net/ghostfromheaven/article/details/7061387
server端
from __future__ import with_statement
from contextlib import closing
import socket
import multitask
def client_handler(sock):
with closing(sock):
while True:
data = (yield multitask.recv(sock, 1024))
if not data:
break
yield multitask.send(sock, data)
def echo_server(hostname, port):
addrinfo = socket.getaddrinfo(hostname, port,
socket.AF_INET,
socket.SOCK_STREAM)
(family, socketype, porot, canonname, sockaddr) = addrinfo[0]
with closing(socket.socket(family,
socketype,
porot)) as sock:
sock.setsockopt(socket.SOL_SOCKET,
socket.SO_REUSEADDR, 1)
sock.bind(sockaddr)
sock.listen(5)
while True:
multitask.add(client_handler((
yield multitask.accept(sock))[0]))
if __name__ == '__main__':
import sys
hostname = '192.168.2.102'
port = 1111
if len(sys.argv) > 1:
hostname = sys.argv[1]
if len(sys.argv) > 2:
port = int(sys.argv[2])
multitask.add(echo_server(hostname, port))
try:
multitask.run()
except KeyboardInterrupt:
pass
client端测试
import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect(('192.168.2.102', 1111))
sock.send('hello')
data = sock.recv(1024)
sock.close()
print 'Received', repr(data)
分享到:
相关推荐
简单的Python的Socket连接的例子 包含Server和Client,还有一个多线程的测试
现在这个例子添加了多线程 之前的例子有解释:https://blog.csdn.net/y363893017/article/details/105676878 大家可以自己去看,仅供学习,提供思路。 以下是我自己电脑上的截图 两个线程上传 上传完一个后 服务端...
Python 通过 socket 实现服务端和客户端相互间网络通信的例子 通过socket实现网络通信 通过thread多线程实现同时收发
server 使用多线程同时与多个client连接,适用python socket编程的入门.
本文实例讲述了python socket多线程通讯方法。分享给大家供大家参考,具体如下: #!/usr/bin/evn python """ 这是一个Socket+多进程的例子(聊天服务端) """ import socket import threading # 处理中文数据用的 ...
本例子是单线程的,大家可以再服务端加上多线程 性能未测试,但是很操蛋,再我电脑的两个centos7.4的虚拟机上运行服务端,再win上上传同样的文件,一个秒传,另一个最快要2:3秒,慢都要2:15秒, 由于服务端和...
需要建立2个文件,一个作为客户端,一个作为服务端 ...s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) #2,建立连接发送连接请求 ip地址和端口号 s.connect(('127.0.0.1',8000)) s.send(你好.encode())
多线程编程是最简单和最流行的方式,但是有另一种很不一样的技术,可以使得我们保持多线程的几乎所有优势,却不用真正使用多线程。 如果你的程序主要是受I/O限制的,这是唯一可行的方式。如果你的程序是受处理器限制...
3.6 第一个Python程序 3.7 相关模块和开发工具 3.8 练习 第4章 Python对象 4.1 Python 对象 4.2 标准类型 4.3 其他内建类型 4.3.1 类型对象和type类型对象 4.3.2 None--...
3.6 第一个Python程序 3.7 相关模块和开发工具 3.8 练习 第4章 Python对象 4.1 Pythonc对象 4.2 标准类型 4.3 其他内建类型 4.3.1 类型对象和type类型对象 4.3.2 None--...
Python详细教程.rar 搭建环境 中文编码 基础语法 变量类型 运算符 条件语句 循环语句 数字 字符串 列表 元组 字典 日期时间 函数 模块 文件 异常 面向对象 ...网络编程socket 多线程 xml GUI编程 JSON 例子
网上有较多的关于两个库的例子。 本文重点在于如何并发的获取snmp的数据,即同时获取多台机器的snmp信息。 netsnmp 先说netsnmp。python的netsnmp,其实是来自于net-snmp包。 python通过一个c文件调用net-snmp的...
1.2.3 Python的简介和优势 5 1.3 Java程序运行机制 5 1.3.1 高级语言的运行机制 6 1.3.2 Java程序的运行机制和JVM 6 1.4 开发Java的准备 7 1.4.1 安装JDK 8 学生提问:不是说JVM是运行Java程序的虚拟机吗?那...
应用程序能够根据不同的容量要求、通信规模和资源状况等现实场景调整 HP-Socket 的各项性能参数(如:工作线程的数量、缓存池的大小、发送模式和接收模式等),优化资源配置,在满足应用需求的同时不必过度浪费资源...