`
deepfuture
  • 浏览: 4400903 次
  • 性别: Icon_minigender_1
  • 来自: 湛江
博客专栏
073ec2a9-85b7-3ebf-a3bb-c6361e6c6f64
SQLite源码剖析
浏览量:80078
1591c4b8-62f1-3d3e-9551-25c77465da96
WIN32汇编语言学习应用...
浏览量:70069
F5390db6-59dd-338f-ba18-4e93943ff06a
神奇的perl
浏览量:103371
Dac44363-8a80-3836-99aa-f7b7780fa6e2
lucene等搜索引擎解析...
浏览量:285843
Ec49a563-4109-3c69-9c83-8f6d068ba113
深入lucene3.5源码...
浏览量:15015
9b99bfc2-19c2-3346-9100-7f8879c731ce
VB.NET并行与分布式编...
浏览量:67586
B1db2af3-06b3-35bb-ac08-59ff2d1324b4
silverlight 5...
浏览量:32157
4a56b548-ab3d-35af-a984-e0781d142c23
算法下午茶系列
浏览量:45996
社区版块
存档分类
最新评论

twisted-从客户端接受连接

 
阅读更多

Twisted 服务器使用和客户端相同的协议类, EchoProtocol 继承处twisted.protocols.basic.LineReciever,twisted.protocols.basic.LineReciever是一个稍高级别协议LineReceiver是一个协议,可将输入自动分解成单独的行投入,使其更容易同时处理单行

 

客户端,telnet 127.0.0.1 5001
You said: hello
world
You said: world
deepfuture.iteye.com
You said: deepfuture.iteye.com

服务端:

F:\test>python test.py 127.0.0.1 5001

 

 

from twisted.internet import reactor, protocol

from twisted.protocols import basic



class EchoProtocol(basic.LineReceiver):

    def lineReceived(self, line):

        if line == 'quit':

            self.sendLine("Goodbye.")

            self.transport.loseConnection( )

        else:

            self.sendLine("You said: " + line)



class EchoServerFactory(protocol.ServerFactory):

    protocol  = EchoProtocol



if __name__ == "__main__":

    port = 5001

    reactor.listenTCP(port, EchoServerFactory( ))

    reactor.run( )



 

分享到:
评论

相关推荐

    python+socket(tcp-client,tcp-server) 包含客户端,服务器端详细代码以及说明,可以直接运行

    - `socket.accept()`: 接受客户端连接,返回新的套接字和客户端地址。 - `socket.recv()`: 从套接字接收数据,指定缓冲区大小。 - `socket.sendall()`: 发送所有数据到套接字,直到完成。 - `socket.close()`: ...

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

    这种情况下,Twisted程序会持续运行,但不接受任何连接请求。 #### 四、反应器(Reactor) **反应器**是Twisted的核心组件之一,它负责监听网络事件和调度回调函数。每一个运行中的Twisted程序都只有一个反应器实例...

    多人聊天服务端和客户端 --异步接收发送数据

    一旦有客户端连接,服务器就会为每个客户端创建一个新的Socket连接,这样可以同时处理多个并发连接。在这个场景下,服务器需要实现异步接收,即当有新消息到达时,服务器不会阻塞,而是立即处理或存储消息,然后继续...

    使用Python的Twisted框架实现一个简单的服务器

    最后,需要一个Reactor来监听端口或网络地址,接受连接,并创建Protocol实例。 下面是一个使用Twisted框架实现TCP回声服务器的示例代码,该代码展示了如何创建一个自定义的协议类,并通过工厂类实例化该协议,最后...

    Twisted document

    接下来可以让服务接受连接,但不做任何处理。 **2.5.4 断开连接** 之后,可以在接收完用户名后立即断开连接。 **2.5.5 读取用户名,断开连接** 进一步改进,让服务读取用户名后输出错误消息,然后断开连接。 **...

    聊天工具制作代码示例(服务端)

    3. **接受客户端连接**: - 当有客户端尝试连接时,accept()函数会被阻塞,直到有新的连接请求到达。这个函数返回一个新的套接字对象,用于与新连接的客户端进行通信。 4. **多线程处理**: - 为了同时处理多个...

    twisted_smpp_client_server:简单的 smpp 客户端和服务器

    2. **SMPP 服务器**:提供了 SMPP 协议的服务器端实现,能够接受客户端连接,处理接收到的请求,并返回相应的响应。 3. **配置文件**:可能包含客户端和服务器的配置信息,如连接参数、身份验证信息、绑定类型等。 ...

    socket编程之tcp连接代码

    5. **接受连接**:当客户端尝试连接时,accept()方法会阻塞,直到有新的连接到来。它返回一个新的Socket对象,用于与客户端通信,同时返回客户端的地址信息。 ```python client_socket, client_address = server_...

    python网络应用开发-网页前端基础.docx

    需要六个步骤:创建 Socket 对象、绑定 Socket、监听连接、接受连接、处理阶段、关闭连接。 2. 建立 TCP 客户端连接 需要四个步骤:创建 Socket 对象、连接服务器、处理阶段、关闭连接。 四、UDP 编程 UDP(User...

    python 编程之twisted详解及简单实例

    `reactor.run`启动事件循环,使得服务器开始接受和处理连接。 9. **信号处理**:在Twisted中,可以注册信号处理函数来响应特定的系统信号,例如在接收到信号时优雅地关闭服务器。在示例中提到,可以通过在信号处理...

    linux chat 服务器例子代码

    4. 接受连接:使用`accept()`函数阻塞等待,当有新的客户端连接时,会返回一个新的套接字用于与该客户端进行通信。 5. 处理客户端请求:在新创建的套接字上使用`read()`和`write()`函数读取客户端发送的数据,并将...

    精选_基于python实现的CS通信和P2P通信_源码打包

    例如,可以使用`socket.socket()`创建socket,`bind()`指定IP和端口,`listen()`开始监听,`accept()`接受连接,并通过`recv()`和`send()`发送和接收数据。 2. **对等网络通信(P2P通信)**: 对等网络通信模式中...

    PyNet

    2. **接受连接**:当客户端尝试连接时,服务器会接受这个连接,并创建一个新的套接字(socket)来处理客户端的请求。 3. **数据收发**:一旦连接建立,服务器就可以通过新创建的套接字发送或接收数据。 4. **关闭...

    Python网络编程实战指南.docx

    4. 接受连接 当有客户端连接请求时,服务器使用`accept()`函数来获取新的socket对象,同时获取客户端的IP地址和端口号。这是一个循环等待连接的示例: ```python while True: client_socket, client_address = ...

    socket编程及示例

    一旦有客户端尝试连接,服务器将接受连接,并为每个客户端创建一个新的线程或进程来处理其请求。服务器可以接收来自客户端的消息,并根据需要发送响应。 #### 客户端程序分析 客户端程序同样创建一个socket对象,...

    socket编程代码

    4. **接受连接**: 使用`accept()`函数接收客户端的连接请求,返回一个新的socket对象和客户端的地址信息。 ```python conn, addr = s.accept() ``` 5. **数据传输**: 通过新建立的socket对象`conn`,可以...

    python中的TCP(传输控制协议)用法实例分析

    当有客户端连接时,服务器接受连接,与客户端进行数据交换,然后关闭客户端套接字。这个过程可以持续循环,以处理多个并发的客户端连接。 在实际应用中,Python的`socket`模块提供了丰富的功能,如设置超时、处理套...

    网络编程与开发技术讲解

    创建套接字,绑定IP地址和端口号,监听连接请求,接受连接,发送和接收数据,以及关闭连接是网络编程的基本步骤。 3. **TCP与UDP**:TCP是一种面向连接的、可靠的传输协议,通过三次握手建立连接,保证数据的顺序和...

    计算机网络实验代码.zip

    在Python或C++等语言中,可以看到socket接口的使用,包括创建套接字、绑定地址、监听连接、接受连接和数据交换等步骤。 7. **网络安全**:网络实验可能还会涉及密码学、加密和身份验证技术,如SSL/TLS协议用于安全...

Global site tag (gtag.js) - Google Analytics