星期二, 2月 13, 2007

聊天室計畫Part 3....

好像是第三次寫這東西了,開始感覺會不會變成抱怨文。
其實我主要是想說網路上的東西都是一部分一部分的把它整段Copy下來也需要整理,所以我在這把完整的東西分享出來。

我在這案子中終於走到主導的地方了,學弟開始有能力自己修改了。
今天我把資源找到順便寫個註解給他們,他們就可以在晚上實作好,如此的成績還算不錯!
註解:
Php抓取IP部分,主要是要把進入聊天室的老師的IP抓取存放
等到有學生進來之後直接傳送IP到學生的applet。

方法可看這幾個瀏覽器的文章,看完不要關掉。

實作方法:
1. 判定第一個進入聊天室的人為老師
2. 第二個進入聊天室的為可接收老師IP的學生
3. 之後進來的沒有辦法取得老師的IP並排入佇列等待成下一個可以跟老師通話的
4. 可使用一個Boolean變數來判定第二個人是否取得IP或是對於進來的使用者編號即可


function getip(){
if(getenv('HTTP_CLIENT_IP')) {
$onlineip = getenv('HTTP_CLIENT_IP');
} elseif(getenv('REMOTE_ADDR')) {
$onlineip = getenv('REMOTE_ADDR');
} else {
$onlineip = $_SERVER['REMOTE_ADDR'];
}
return $onlineip;
}
$ip=getip();

或是用
$user_ip = explode(".",$_SERVER["REMOTE_ADDR"]);
//印出完整 IP
echo "Your IP:$user_ip[0]"."."."$user_ip[1]"."."."$user_ip[2]"."."."$user_ip[3]";
//遮住最後的IP
echo "Your IP:$user_ip[0]"."."."$user_ip[1]"."."."$user_ip[2]"."."."***";

不過用php內建的function都不準,有時會抓到Proxy或ISP的IP,最好用socket
這是網友的意見,我想還是先用簡單的方法實作看看!畢竟明天要DEMO= =''

另外推薦一個討論很多Java的Blog"fcamel / chlo’s Blog"給大家參考!

沒有留言:

張貼留言