0

I'm using ThreadedTCPServer to start a TCP server. Here is the code:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import socket
import threading
import SocketServer
import time

class ThreadedTCPRequestHandler(SocketServer.BaseRequestHandler):
    def handle(self):
        recv1 = self.request.recv(1)
        print "server: %s" % recv1


class ThreadedTCPServer(SocketServer.ThreadingMixIn, SocketServer.TCPServer):
    pass



if __name__ == "__main__":
    server = ThreadedTCPServer(('0.0.0.0', 8080), ThreadedTCPRequestHandler)

    print server.server_address

    # Start a thread with the server -- that thread will then start one
    # more thread for each request
    server_thread = threading.Thread(target=server.serve_forever)
    # Exit the server thread when the main thread terminates
    server_thread.daemon = True
    server_thread.start()
    print "Server loop running in thread:", server_thread.name


    time.sleep(30)


    server.shutdown()
    print "end"

I'm working on Windows7(IP: 192.168.1.180)/Python2.7, when starting the program, I can telnet the server from local, but from another machine, I can't telnet success.

> telnet 192.168.1.180 8080

But, I run the program on Linux, it works fine. I can telnet it successfully from another machine.

Why on Windows7 it can not receive remote connection? I checked the net status on windows7 during running:

C:\Users\Henry>netstat -ant | findstr 8080
TCP    0.0.0.0:8080           0.0.0.0:0              LISTENING       InHost

Sorry, problem solved. It IS a environment problem. It's blocked by the windows7 firewall.

4

1 に答える 1