Python 2.7 如何打破while-true语句

Python 2.7 如何打破while-true语句,python-2.7,network-programming,Python 2.7,Network Programming,我是Pytnon网络的初学者。我正在写这个程序,在这个程序中,服务器将打印客户端在其端写的任何内容。如果客户端终止连接,我不知道如何以最佳方式中断while语句 from socket import * host = gethostname() port = 27000 svr = socket(AF_INET, SOCK_STREAM) svr.bind((host, port)) svr.listen(1) print "Waiting for client connection...

我是Pytnon网络的初学者。我正在写这个程序,在这个程序中,服务器将打印客户端在其端写的任何内容。如果客户端终止连接,我不知道如何以最佳方式中断while语句

from socket import *


host = gethostname()
port = 27000
svr = socket(AF_INET, SOCK_STREAM)
svr.bind((host, port))
svr.listen(1)

print "Waiting for client connection..."
print "..."

c, addr = svr.accept()
print 'Got connection from', addr

while True:
    print c.recv(1024)

我试过这个。它起作用了。希望你明白这一点

while True:
    n = raw_input("Some bla bla':")
    if n.strip() == 'hello':
        break

我试过这个。它起作用了。希望你明白这一点

while True:
    n = raw_input("Some bla bla':")
    if n.strip() == 'hello':
        break

我试过这个。它起作用了。希望你明白这一点

while True:
    n = raw_input("Some bla bla':")
    if n.strip() == 'hello':
        break

我试过这个。它起作用了。希望你明白这一点

while True:
    n = raw_input("Some bla bla':")
    if n.strip() == 'hello':
        break
考虑使用?Twisted有一些非常好的功能,可以让您做到这一点,例如我的服务器,它只会鹦鹉学舌地回复它听到的内容:

from twisted.internet import protocol, reactor
from twisted.protocols.basic import LineReceiver

class Echo(LineReceiver):
    def dataReceived(self, data):
        self.transport.write(data)

    def connectionLost(self, reason):
        print 'Client connection lost. Reason:\n{r}\n'.format(r=reason)
        LineReceiver.connectionLost(self, reason)
        reactor.stop()

class EchoFactory(protocol.Factory):
    def buildProtocol(self, addr):
        return Echo()

reactor.listenTCP(8000, EchoFactory())
reactor.run()
套接字在非常低的级别上很好,但有时有点太基本了

让你进入扭曲的世界考虑阅读:

考虑使用?Twisted有一些非常好的功能,可以让您做到这一点,例如我的服务器,它只会鹦鹉学舌地回复它听到的内容:

from twisted.internet import protocol, reactor
from twisted.protocols.basic import LineReceiver

class Echo(LineReceiver):
    def dataReceived(self, data):
        self.transport.write(data)

    def connectionLost(self, reason):
        print 'Client connection lost. Reason:\n{r}\n'.format(r=reason)
        LineReceiver.connectionLost(self, reason)
        reactor.stop()

class EchoFactory(protocol.Factory):
    def buildProtocol(self, addr):
        return Echo()

reactor.listenTCP(8000, EchoFactory())
reactor.run()
套接字在非常低的级别上很好,但有时有点太基本了

让你进入扭曲的世界考虑阅读:

考虑使用?Twisted有一些非常好的功能,可以让您做到这一点,例如我的服务器,它只会鹦鹉学舌地回复它听到的内容:

from twisted.internet import protocol, reactor
from twisted.protocols.basic import LineReceiver

class Echo(LineReceiver):
    def dataReceived(self, data):
        self.transport.write(data)

    def connectionLost(self, reason):
        print 'Client connection lost. Reason:\n{r}\n'.format(r=reason)
        LineReceiver.connectionLost(self, reason)
        reactor.stop()

class EchoFactory(protocol.Factory):
    def buildProtocol(self, addr):
        return Echo()

reactor.listenTCP(8000, EchoFactory())
reactor.run()
套接字在非常低的级别上很好,但有时有点太基本了

让你进入扭曲的世界考虑阅读:

考虑使用?Twisted有一些非常好的功能,可以让您做到这一点,例如我的服务器,它只会鹦鹉学舌地回复它听到的内容:

from twisted.internet import protocol, reactor
from twisted.protocols.basic import LineReceiver

class Echo(LineReceiver):
    def dataReceived(self, data):
        self.transport.write(data)

    def connectionLost(self, reason):
        print 'Client connection lost. Reason:\n{r}\n'.format(r=reason)
        LineReceiver.connectionLost(self, reason)
        reactor.stop()

class EchoFactory(protocol.Factory):
    def buildProtocol(self, addr):
        return Echo()

reactor.listenTCP(8000, EchoFactory())
reactor.run()
套接字在非常低的级别上很好,但有时有点太基本了


让你进入扭曲的世界考虑阅读:

< P> >我就试试这样的

为True时:
userInput=#在这里插入用户输入的内容
如果userInput==“在此处插入中断语句”:#您可以在此处插入类似“我想退出此函数”之类的内容,这样用户就不会意外地键入它
打破
其他:
打印(用户输入)

我想试试这样的东西

为True时:
userInput=#在这里插入用户输入的内容
如果userInput==“在此处插入中断语句”:#您可以在此处插入类似“我想退出此函数”之类的内容,这样用户就不会意外地键入它
打破
其他:
打印(用户输入)

我想试试这样的东西

为True时:
userInput=#在这里插入用户输入的内容
如果userInput==“在此处插入中断语句”:#您可以在此处插入类似“我想退出此函数”之类的内容,这样用户就不会意外地键入它
打破
其他:
打印(用户输入)

我想试试这样的东西

为True时:
userInput=#在这里插入用户输入的内容
如果userInput==“在此处插入中断语句”:#您可以在此处插入类似“我想退出此函数”之类的内容,这样用户就不会意外地键入它
打破
其他:
打印(用户输入)

谢谢你,拉杰,我理解这一点。但这并不完全是我所说的。实际上有两个不同的程序,一个是客户端,另一个是服务器(这里打印的那个)。连接完成后,我只希望客户端终止连接。但是在服务器端,程序没有很好地终止,while循环一直在运行…我想知道是否有一些语句可以在服务器端添加以执行良好的结束。谢谢raj,我理解这一点。但这并不完全是我所说的。实际上有两个不同的程序,一个是客户端,另一个是服务器(这里打印的那个)。连接完成后,我只希望客户端终止连接。但是在服务器端,程序没有很好地终止,while循环一直在运行…我想知道是否有一些语句可以在服务器端添加以执行良好的结束。谢谢raj,我理解这一点。但这并不完全是我所说的。实际上有两个不同的程序,一个是客户端,另一个是服务器(这里打印的那个)。连接完成后,我只希望客户端终止连接。但是在服务器端,程序没有很好地终止,while循环一直在运行…我想知道是否有一些语句可以在服务器端添加以执行良好的结束。谢谢raj,我理解这一点。但这并不完全是我所说的。实际上有两个不同的程序,一个是客户端,另一个是服务器(这里打印的那个)。连接完成后,我只希望客户端终止连接。但是在服务器端,程序没有很好地终止,while循环一直在运行……我想知道是否有一些语句可以在服务器端添加以执行良好的结束。