`
liudeh_009
  • 浏览: 243170 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

学习python后写的关于网络编程,线程的例子

阅读更多
该例子综合了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)
0
1
分享到:
评论

相关推荐

    python网络编程书籍和配套代码

    Python网络编程是现代软件开发中的一个关键领域,它涉及到如何通过网络进行数据交换、构建网络服务和客户端应用。"Python网络编程书籍和配套代码(第一版)" 是一个宝贵的资源,特别是对于那些想要深入理解Python在...

    Python多线程学习

    ### Python多线程学习 在Python中,使用线程主要有两种方法:一是通过函数的方式,二是利用类来封装线程对象。这两种方式都是基于Python的标准库`thread`和`threading`来实现的。 #### 函数方式创建线程 使用`...

    python网络编程源码

    在这个源码包中,我们可以找到一系列用Python编写的网络编程示例,对于学习和理解Python网络编程的基本概念和技术是非常有价值的。 Python语言在处理网络编程时提供了丰富的库支持,如socket、asyncio、http.server...

    基于python的多线程例子,详细介绍了多线程处理

    在Python编程语言中,多线程是实现并发执行任务的重要机制。它允许程序同时执行多个不同的任务,从而提高效率和响应速度。在这个基于Python的多线程例子中,我们将深入探讨如何创建和管理线程,以及如何利用它们来...

    在Python下尝试多线程编程

    在Python中进行多线程编程是计算机编程领域一个非常重要的课题。多线程编程在提高程序执行效率、...以上内容仅为对Python多线程编程知识点的概述,要真正掌握和应用这些知识,还需要通过实际的编程实践和深入的学习。

    python 多线程编程

    通过分析和学习这个文件,你可以进一步加深对Python多线程编程的理解,包括如何有效地使用线程池(`ThreadPoolExecutor`),以及如何处理线程异常和线程间的协作问题。 总之,Python的多线程编程虽然受到GIL的限制...

    Python高性能网络编程并发框架研究.pdf

    在研究高性能网络编程并发框架时,本文主要介绍了网络编程的基本概念、并发模型以及Python语言在构建高性能网络服务中的应用。本文将对以下几个知识点进行详细阐述: 1. 网络编程基本概念 网络编程涉及不同计算机或...

    Python多线程Socket程序例子

    在Python编程中,多线程和Socket通信是两个重要的概念,它们经常被结合使用以实现高效、并发的网络服务。本篇文章将详细讲解如何在Python中编写一个多线程的Socket程序,通过分析提供的代码示例`...

    Python的Socket连接例子(包含多线程例子)

    在Python编程中,Socket是网络通信的基础,它允许程序通过网络发送和接收数据。本教程将深入探讨Python的Socket连接,特别关注如何实现多线程的Socket服务。我们将基于提供的文件"Server.py"、"Client.py"以及"多...

    Python应用实战:python多线程-多线程安全问题&lock与rlock.zip

    在Python编程中,多线程是一种常见的并发执行方式,它允许多个任务同时运行,以提高程序的效率。然而,多线程环境下也存在一系列安全问题,这些问题主要源自资源竞争和数据同步。本篇文章将深入探讨Python中的多线程...

    Python Twisted网络编程框架(中文)

    ### Python Twisted网络编程框架知识点解析 #### 一、引言 Twisted 是一个非常强大的异步编程框架,主要用于Python中的网络编程。该框架能够帮助开发者轻松地构建高性能的网络应用,包括但不限于客户端和服务端应用...

    Python简明入门深入核心编程第二版3书打包下载!

    它可能包含了更复杂的主题,如网络编程、并发与多线程、数据库接口、Web开发框架(如Django或Flask)以及自动化任务调度。此外,这本书可能还详细讨论了Python的内置类型和标准库,以及如何进行有效的测试和调试。 ...

    python线程教程,python线程学习笔记.doc

    在Python编程语言中,线程是并发执行任务的基本单元,允许程序同时处理多个任务。Python标准库中的`threading`模块提供了线程相关的功能。在本文中,我们将深入探讨Python线程的基础知识,包括线程如何访问全局变量...

    pythonthread(Python多线程处理).docx

    在Python编程语言中,多线程是一种常见的并发编程模型,它允许程序同时执行多个任务。多线程可以显著提高程序的效率和响应能力,尤其是在处理I/O密集型操作时,如网络请求、文件读写等场景下更为明显。 #### 二、...

    python cs网络编程

    在IT行业中,网络编程是至关重要的一个领域,它允许不同设备通过网络进行通信。Python作为一门强大而易学的编程...通过这个简单的例子,你可以进一步理解和实践网络编程的基本原理,并为构建更复杂的应用打下坚实基础。

    python编程金典的一些例子

    这个压缩包中的"study_example"文件夹,显然包含了该书中的部分实例代码,可能是经过作者调整或修改的版本,旨在帮助学习者更好地理解和实践Python编程。 1. **基础语法**:Python的基础包括变量赋值、数据类型(如...

    python核心编程 英文版

    读者可以在本书中找到关于Python标准库的详尽介绍,包括字符串和文本处理、数据结构、网络与互联网编程、多线程编程等。此外,书中还涉及了数据库连接、图形用户界面设计、Web开发等方面的内容,这为读者提供了一个...

    Python函数式编程

    ### Python函数式编程与线程管理深度解析 #### 引言 Python,作为一种高级编程语言,不仅支持面向对象编程范式,还提供了丰富的函数式编程特性。本文将深入探讨Python中的函数式编程概念,并结合线程管理技术,展示...

    python核心编程代码

    "Python核心编程"是学习Python编程的重要资料,它涵盖了Python语言的基础和高级特性,包括数据结构、函数、类、模块、异常处理、文件操作等多个方面。 在"Python核心编程"的代码中,我们可以深入理解以下关键知识点...

    multithreading of python.rar_python多线程

    Python的多线程是Python编程中的一个重要概念,特别是在处理大量数据或者需要同时执行多个任务时。在Python 2.x版本中,多线程是通过`threading`模块来实现的。下面将详细介绍Python 2.x版本中的多线程以及相关的...

Global site tag (gtag.js) - Google Analytics