2012-01-01 92 views
1

如果您telnet到IP地址192.43.244.18端口13,您將獲得當前時間。
好吧,如果我沒有錯,這只是一個服務器套接字。但有一件事很奇怪:這個套接字如何總是在監聽?
如果我在那裏拿一個PHP頁面和程序套接字,我仍然需要首先請求頁面才能激活服務器套接字,但是這個頁面並不與任何頁面關聯,即使make一個perl腳本,我仍然需要爲了運行服務器套接字而請求它!
我的問題是:如何在網絡主機(任何語言都可以)上做出這樣的事情 - 始終監聽套接字?網絡主機上的套接字

+0

任何人都有答案? – jzeus 2012-01-02 20:43:59

回答

1

您可以運行在套接字上作爲守護進程(Linux)或服務(Windows)偵聽的進程,或真正運行正常程序(雖然這不太優雅)。

+1

值得一提的是,虛擬主機通常不具備這種能力,因爲它們是共享環境,而不是。 – lfxgroove 2012-01-01 10:38:04

+0

是的。我不知道如何在Webhost上將程序作爲服務/守護程序運行。問題是,上面的IP地址甚至不會重定向到網頁或虛擬主機!我不知道它是什麼... – jzeus 2012-01-02 06:31:08

+0

他們只是有一種服務器,在這種情況下,它是一個telnet服務器。基本上它只是一個程序,與其他程序在某個特定的端口上進行對話。 – lfxgroove 2012-01-02 20:05:50

0

一個簡單的開始就是http://docs.oracle.com/javase/tutorial/networking/sockets/clientServer.html,它教你如何在Java中製作一個簡單的服務器端口,用於偵聽特定端口上的連接。創建的程序必須始終運行才能接受連接。

+0

什麼是網絡主機?我無法在虛擬主機上運行Java程序,因爲它們不支持它。 – jzeus 2012-01-02 19:12:10

+0

沒有太多的事情要做,你可以嘗試一個php頁面,你有'while(true)'之類的東西,然後繼續嘗試訪問該頁面,不知道如果這是一個很好的解決方案。 – lfxgroove 2012-01-02 20:05:08