我想用同一臺伺服器監聽100個不同的tcp埠。以下是我目前正在做的事情:import socket
import select
def main():
server_socket = socket.socket(socket.af_inet, socket.sock_stream)
server_socket.setsockopt(socket.sol_socket, socket.so_reuseaddr, 1)
for i in range(1000,1100):
server_socket.bind(('127.0.0.1', i))
server_socket.listen(1)
read_list = [server_socket]
while true:
readable, writable, exceptional = select.select(read_list, , read_list)
for s in readable:
if s is server_socket:
#print "client connected"
client_socket, address = server_socket.accept()
else:
# one of the tcp clients
data = s.recv(1024)
if not result:
s.close()
read_list.remove(s)
#print "client disconnected"
if __name__ == "__main__":
main()
它返回乙個說permission denied的錯誤。是因為某些埠(1000-1100)被保留而沒有分配給它,還是因為其他原因?
我試了一下(8000-8100),上面寫著invalid arguments
已編輯import socket
import select
def create_socket(tcp_port):
server_socket = socket.socket(socket.af_inet, socket.sock_stream)
server_socket.setsockopt(socket.sol_socket, socket.so_reuseaddr, 1)
server_socket.bind(('127.0.0.1', tcp_port))
server_socket.listen(1)
return server_socket
def main():
read_list =
for tcp_port in range(8000,8100):
while true:
readable, writable, exceptional = select.select(read_list, , read_list)
for s in readable:
if s is server_socket:
#print "client connected"
client_socket, address = server_socket.accept()
else:
# one of the tcp clients
data = s.recv(1024)
if not result:
s.close()
read_list.remove(s)
#print "client disconnected"
if __name__ == "__main__":
main()
python同時監聽多個埠 監聽多個埠
我在玩twisted,建立了乙個簡單的 伺服器 我想讓伺服器監聽多個埠 1025 65535 而不是單個埠。我該怎麼做?在 我的 from twisted.internet.protocol import protocol,serve ctory from twisted.internet impo...
Linux中如何檢視服務及監聽埠
問 我該如何發現哪種服務正在某個特定埠上監聽呢?我如何發現哪乙個程式正在乙個特定埠上監聽呢?答 在 nix系統中,你可以使用下面的任何乙個命令來得到在乙個特定tcp埠上監聽的列表。lsof 其功能是列示開啟的檔案,包括監聽埠。netstat 此命令象徵性地展示各種與網路 有關的資料和資訊的內容。ls...
Linux中如何檢視服務及監聽埠
問 我該如何發現哪種服務正在某個特定埠上監聽呢?我如何發現哪乙個程式正在乙個特定埠上監聽呢?答 在 nix系統中,你可以使用下面的任何乙個命令來得到在乙個特定tcp埠上監聽的列表。lsof 其功能是列示開啟的檔案,包括監聽埠。netstat 此命令象徵性地展示各種與網路 有關的資料和資訊的內容。ls...