该例子综合了python的网络编程,线程,异常处理,字符串处理,函数,类,做为入门级的例子,很
实用
服务器端server.py
#coding=utf-8
import socket
import threading
from time import sleep
class ThreadClass(threading.Thread):
def setClient(self,client):
self.client = client
def run(self):
print('threadname-->',self.getName())
s = self.client.recv(1024).decode('utf-8')
try:
s = eval(s)
s = str(s)
except NameError:
pass
s = 'server deal result:' + s + "\n"
self.client.send(s.encode('utf-8'))
self.client.close()
if __name__=='__main__':
s = socket.socket()
host = socket.gethostname()
port = 1234
s.bind((host,port))
#最多同时连5个客户端
s.listen(5)
while True :
client,addr = s.accept()
threadclass = ThreadClass()
threadclass.setClient(client)
threadclass.start()
#sleep(20)
#if threadclass.isAlive():
#print('alive')
#else:
#print("notAlive")
客户端client.py
#coding=utf-8
import socket
def sendSource(source):
return source.encode('utf-8')
def recvSource(source):
return source.decode('utf-8')
def dealSource(source):
try:
s = socket.socket()
s.connect(('10.9.9.12',1234))
s.send(sendSource(source))
#缓冲区1k
print(recvSource(s.recv(1024)))
except socket.timeout:
print("timeout")
finally:
s.close()
if __name__=='__main__':
while True:
source = input("input your source:\n")
if str.strip(source)=="quit":#退出
quit()
else:#交给服务器处理
dealSource(source)
几点需要注意:
1.代码里有中文的话要指定#coding=utf-8
2.命令行输入的数据要去空格str.strip(source)
分享到:
相关推荐
Python网络编程是现代软件开发中的一个关键领域,它涉及到如何通过网络进行数据交换、构建网络服务和客户端应用。"Python网络编程书籍和配套代码(第一版)" 是一个宝贵的资源,特别是对于那些想要深入理解Python在...
### Python多线程学习 在Python中,使用线程主要有两种方法:一是通过函数的方式,二是利用类来封装线程对象。这两种方式都是基于Python的标准库`thread`和`threading`来实现的。 #### 函数方式创建线程 使用`...
在这个源码包中,我们可以找到一系列用Python编写的网络编程示例,对于学习和理解Python网络编程的基本概念和技术是非常有价值的。 Python语言在处理网络编程时提供了丰富的库支持,如socket、asyncio、http.server...
在Python编程语言中,多线程是实现并发执行任务的重要机制。它允许程序同时执行多个不同的任务,从而提高效率和响应速度。在这个基于Python的多线程例子中,我们将深入探讨如何创建和管理线程,以及如何利用它们来...
在Python中进行多线程编程是计算机编程领域一个非常重要的课题。多线程编程在提高程序执行效率、...以上内容仅为对Python多线程编程知识点的概述,要真正掌握和应用这些知识,还需要通过实际的编程实践和深入的学习。
通过分析和学习这个文件,你可以进一步加深对Python多线程编程的理解,包括如何有效地使用线程池(`ThreadPoolExecutor`),以及如何处理线程异常和线程间的协作问题。 总之,Python的多线程编程虽然受到GIL的限制...
在研究高性能网络编程并发框架时,本文主要介绍了网络编程的基本概念、并发模型以及Python语言在构建高性能网络服务中的应用。本文将对以下几个知识点进行详细阐述: 1. 网络编程基本概念 网络编程涉及不同计算机或...
在Python编程中,多线程和Socket通信是两个重要的概念,它们经常被结合使用以实现高效、并发的网络服务。本篇文章将详细讲解如何在Python中编写一个多线程的Socket程序,通过分析提供的代码示例`...
在Python编程中,Socket是网络通信的基础,它允许程序通过网络发送和接收数据。本教程将深入探讨Python的Socket连接,特别关注如何实现多线程的Socket服务。我们将基于提供的文件"Server.py"、"Client.py"以及"多...
在Python编程中,多线程是一种常见的并发执行方式,它允许多个任务同时运行,以提高程序的效率。然而,多线程环境下也存在一系列安全问题,这些问题主要源自资源竞争和数据同步。本篇文章将深入探讨Python中的多线程...
### Python Twisted网络编程框架知识点解析 #### 一、引言 Twisted 是一个非常强大的异步编程框架,主要用于Python中的网络编程。该框架能够帮助开发者轻松地构建高性能的网络应用,包括但不限于客户端和服务端应用...
它可能包含了更复杂的主题,如网络编程、并发与多线程、数据库接口、Web开发框架(如Django或Flask)以及自动化任务调度。此外,这本书可能还详细讨论了Python的内置类型和标准库,以及如何进行有效的测试和调试。 ...
在Python编程语言中,线程是并发执行任务的基本单元,允许程序同时处理多个任务。Python标准库中的`threading`模块提供了线程相关的功能。在本文中,我们将深入探讨Python线程的基础知识,包括线程如何访问全局变量...
在Python编程语言中,多线程是一种常见的并发编程模型,它允许程序同时执行多个任务。多线程可以显著提高程序的效率和响应能力,尤其是在处理I/O密集型操作时,如网络请求、文件读写等场景下更为明显。 #### 二、...
在IT行业中,网络编程是至关重要的一个领域,它允许不同设备通过网络进行通信。Python作为一门强大而易学的编程...通过这个简单的例子,你可以进一步理解和实践网络编程的基本原理,并为构建更复杂的应用打下坚实基础。
这个压缩包中的"study_example"文件夹,显然包含了该书中的部分实例代码,可能是经过作者调整或修改的版本,旨在帮助学习者更好地理解和实践Python编程。 1. **基础语法**:Python的基础包括变量赋值、数据类型(如...
读者可以在本书中找到关于Python标准库的详尽介绍,包括字符串和文本处理、数据结构、网络与互联网编程、多线程编程等。此外,书中还涉及了数据库连接、图形用户界面设计、Web开发等方面的内容,这为读者提供了一个...
### Python函数式编程与线程管理深度解析 #### 引言 Python,作为一种高级编程语言,不仅支持面向对象编程范式,还提供了丰富的函数式编程特性。本文将深入探讨Python中的函数式编程概念,并结合线程管理技术,展示...
"Python核心编程"是学习Python编程的重要资料,它涵盖了Python语言的基础和高级特性,包括数据结构、函数、类、模块、异常处理、文件操作等多个方面。 在"Python核心编程"的代码中,我们可以深入理解以下关键知识点...
Python的多线程是Python编程中的一个重要概念,特别是在处理大量数据或者需要同时执行多个任务时。在Python 2.x版本中,多线程是通过`threading`模块来实现的。下面将详细介绍Python 2.x版本中的多线程以及相关的...