相关疑难解决方法(0)

如何让服务器接受来自多个端口的连接?

如何创建一个简单的服务器(简单如接受连接并打印到终端接收的任何内容)接受来自多个端口或端口范围的连接?

我是否必须使用多个线程,每个绑定调用一个.还是有其他解决方案吗?

简单的服务器看起来像这样.

def server():
import sys, os, socket

port = 11116
host = ''
backlog = 5 # Number of clients on wait.
buf_size = 1024

try:
    listening_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    listening_socket.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1) 
    listening_socket.bind((host, port)) 
    listening_socket.listen(backlog)
except socket.error, (value, message):
    if listening_socket:
        listening_socket.close()
    print 'Could not open socket: ' + message
    sys.exit(1)

while True:
    accepted_socket, adress = listening_socket.accept()

    data = accepted_socket.recv(buf_size)
    if data:
        accepted_socket.send('Hello, and goodbye.')
    accepted_socket.close()

server()
Run Code Online (Sandbox Code Playgroud)

编辑:这是一个如何完成它的例子.感谢大家.

import socket, select

def server():
import sys, os, socket

port_wan = …
Run Code Online (Sandbox Code Playgroud)

python network-programming

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

network-programming ×1

python ×1