HiNET 簡訊

回覆文章
yehlu
Site Admin
文章: 3245
註冊時間: 2004-04-15 17:20:21
來自: CodeCharge Support Engineer

HiNET 簡訊

文章 yehlu »

http://timteam.org/?TIM=FORUM&FORUM=1&P ... 94#TIM6894

###############################
#文章來源 : htp://www.twbb.org
#作者 : FIEND
###############################

最近在玩這個 收集一下文章~^^ 有的大大可能都玩過了

沒玩過的朋友可以參考看看 喔~~ CCC

php.net 官方 socket 說明 :

http://tw.php.net/manual/en/ref.sockets.php

linux 下安裝 socket :

Installation
The socket functions described here are part of an extension to PHP which must be enabled at compile time by giving the --enable-sockets option to configure.

hinet 簡訊系統軟體規格表 :

http://hiair.hinet.net/socket2air/software.htm

php程式 :

【程式碼】
<?
/* 名稱:hiAir - Socket to Air For PHP的範例程式
* 說明:PHP 要支援Socket功能,必須在安裝PHP時 設定--enable-sockets option to configure.
* 其Socket使用方法請參考:http://www.php.net/manual/tw/ref.sockets.php
* 撰寫者 : HiNet - hiAir , Chih-Ming Liao
* 日期 : 2003/04/19
*/
?>

<?php
error_reporting (E_ALL);

echo "<h2>Socket to Air for PHP Example</h2>\n";

$user_acc = "帳號";
$user_pwd = "密碼";
$mobile_number= "手機號碼";
$message= "簡訊內容";

$interface_type=0; /* interface_type: 0 ( 1 to 255 保留) */
$msg_type=0; /* 0:檢查帳號密碼 1:傳送簡訊 2:查詢傳送結果 */
$send_type=100; /* 100:即時傳送 , 101:預約傳送*/
$ret_msg_len=129; /* Socket 接收 Ret_Msg 的長度為129 */

/* Socket to Air Server IP ,Port */
$address = '203.66.172.131';
$service_port = 8000;

/* Create a TCP/IP socket. */
$socket = socket_create (AF_INET, SOCK_STREAM, 0);
if ($socket < 0) {
echo "socket_create() failed: reason: " . socket_strerror ($socket) . "\n";
}

echo "Attempting to connect to '$address' on port '$service_port'... \n";
$result = socket_connect ($socket, $address, $service_port);
if ($result < 0) {
echo "socket_connect() failed.\nReason: ($result) " . socket_strerror($result) . "\n";
} else {
echo "Connection OK.\n";
}

echo "<p>";

/* 帳號密碼檢查 */
$msg_content=$user_acc . "\0" . $user_pwd . "\0";
$in = pack("C",$interface_type) . pack("C",$msg_type) . pack("C",strlen($msg_content)) . $msg_content;

$out = '';

echo "帳號密碼檢查 : ";
socket_send ($socket, $in, strlen($in), 0);

$out_len = socket_recv ($socket, $out , $ret_msg_len, 0);
$ret_C = substr($out, 0, 1); /* 取出 ret_code */
$ret_code_array = unpack("C", $ret_C); /* 將$ret_C 轉成unsigned char , unpack 會return array*/
$ret_code = array_pop ($ret_code_array); /* 從array 中pop出ret_code值 */

if($ret_code==0){ /* ret_code ==0 , ID/Passwd check OK!*/
echo "帳號密碼檢查成功! <p>\n";

/* 開始傳送簡訊 */
$msg_type=1; /* 傳送簡訊 */
$msg_content=$mobile_number . "\0" . $message . "\0";
$in = pack("C",$interface_type) . pack("C",$msg_type) . pack("C",strlen($msg_content)) . $msg_content . pack("C",$send_type);

echo "傳送文字簡訊:";
socket_send ($socket, $in, strlen($in), 0);
$out_len = socket_recv ($socket, $out, $ret_msg_len, 0);
$ret_C = substr($out, 0, 1); /* 取出 ret_code */
$ret_code_array = unpack("C", $ret_C); /* 將$ret_C 轉成unsigned char , unpack 會return array*/
$ret_code = array_pop ($ret_code_array); /* 從array 中pop出ret_code值 */
$ret_description_len = strlen($out) - 1; /* 扣掉ret_code的一個長度 */
$ret_description = substr($out, 1, $ret_description_len); /* 取得回傳的內容*/

if($ret_code==0){
echo "簡訊傳送成功!\n";
echo "ret_code=" . $ret_code . ", MessageID=" . $ret_description;
}else{
echo "簡訊傳送失敗!\n";
echo "ret_code=" . $ret_code . ", ret_description=" . $ret_description;
}

}else {
echo "帳號密碼檢查失敗! \n";
}


echo "<p>";
echo "Closing socket...";
socket_close ($socket);
echo "OK.\n\n";
?>


更多程式範例 :

各種 客戶端的程式範例 :

客戶端應用程式範例(VB 5.0)
客戶端應用程式範例(C 呼叫 WinSock 1.1)
客戶端應用程式範例(Unix/Linux gcc 呼叫 Socket)
客戶端應用程式範例(Perl)
客戶端應用程式範例(PHP)
客戶端應用程式範例(Java)
Socket to Air ActiveX元件 For ASP (包含元件、範例及使用說明)
命令列程式:Notify.exe
(請客戶使用此程式,測試您的帳號是否可以正常發送簡訊;但發送成功,則依Socket2Air價目表收費)
Notify [Ip Addr] [LoginName] [Password] [Tel Num] [Message]
<範例> Notify 203.66.172.131 id pwd 0932400xxx Hello
JAVA版發訊軟體
JAVA版發訊軟體,提供電話簿與群組功能,操作介面簡單方便,歡迎下載試用,使用前請先安裝 J2SE 1.3以上版本(JRE或SDK)。(請參考J2SE Downloads ->選擇Windows (all languages, including English)->其中的JRE或是SDK選項 Downloads)。
視窗版發訊軟體
視窗版發訊軟體,提供讀取檔案方式來發送簡訊,使用者只須先建立發訊名單,便可一次大量發送。 使用前請先閱讀使用說明。

下載

http://hiair.hinet.net/socket2air/download.htm
回覆文章

回到「PHP」