2013-04-24 133 views
1

我寫了一個簡單的TCP服務器程序,使其偵聽端口80 後來我從TCP程序不能偵聽端口80

netstat -tulpn|grep "tcp" 

注意到TCP服務器偵聽端口更改爲一個隨機端口,但不是80

我試過其他港口像2000,TCP服務器程序運行正常,並可以在該端口上 聽,但80是不可能

我檢查whethe [R有正在監聽端口80上的其他進程, 原本有一個httpd,但我殺了它 而我的TCP服務器無法監聽端口80

我試過幾臺機器,這種現象是一樣的 是否有任何原因呢?以及如何讓我的程序在端口80上偵聽?

回答

0

你需要根聽端口低於1024以下1024

3

端口受到限制。如果你只是在玩遊戲,很容易以root身份運行你的程序,但是如果你想編寫一個你不想以root用戶身份運行的應用程序,但是仍然能夠綁定到受限制的端口,你可能想要看看Linux capabilities system

以下是關於如何使用setcap utility on Linux.的答案的鏈接。

相關問題