PHP SOCKET ¼¼ÊõÑо¿

5年以前  |  阅读数:503 次  |  编程语言:PHP 
½ñÌiÊÔ×Åдһ¸o PHP Óe C ÓiÑÔͨ¹ýsocketͨѶµÄ³ÌÐo£¬¿´¹ýPHPÊÖ²a£¬*¢ÏÖÓкü¸ÖÖ*½Ê½¿ÉÒÔ½¨Á¢socket ¿Í»§¶Ë.

1¡¢Í¨¹ý fsockopen() ½¨Á¢socketÁ¬½Ó£¬È»ºoÓà ÓÃfputs() *¢ËÍÏuÏ¢£¬Óà fgets() ½ÓÊÕÏuÏ¢¡£

2¡¢Í¨¹ý socket_create() ½¨Á¢ socket Á¬½Ó£¬È»ºoÓà socket_send() or socket_write() ¢ËÍÏuÏ¢£¬Óà socket_recv() or socket_read() ¢ËÍÏuÏ¢¡£

ºÜÆae¹Ö£¬ÎÒÔÚÊÖ²aÉÏ¿´µ½ÁËÕaÑuÒ»¶Î»°"±¾À(C)չģ¿eÊÇʵÑeÐԵġ£¸ÃÄ£¿eµÄÐÐΪ£¬°uÀ¨Æaº¯ÊýµÄÃu³ÆÒÔ¼°ÆaËuÈκιØÓÚ´ËÄ£¿eµÄÎĵµ¿ÉÄÜ»aÔÚûÓÐ֪ͨµÄÇe¿oÏÂËae PHP ÒÔºoµÄ*¢²¼¶ø¸Ä±a¡£ÎÒÃÇÌaÐÑÄuÔÚʹÓñ¾À(C)չģ¿eµÄͬʱ×Ôµ£*çÏÕ¡£" ¿´À´ php4.0 socketͨѶ»¹²»ÊÇÍeÈ«Îȶ¨¡£

½ñÌiÎÒдµÄ¿Í»§¶ËÒªÓeþÎñ¶Ë×oÁ½´ÎͨѶ£¬ÎÒÓÃÉÏÃaeÕa¸o½¨¶¼Ð´ÁËÒ»¸o¿Í»§¶Ë³ÌÐo£¬¢ÏÖµ±½o½o¾ÍÒ»´ÎͨѶµÄʱºo£¬Ò²¾ÍÊÇPHP¿Í»§¶Ë¢ËÍÒ»´ÎÏuÏ¢£¬È»ºo½ÓÊÕµ»ØÏuÏ¢£¬¾Í¹Ø±ÕÁ¬½Ó¡£ÕaÁ½ÖÖ½¨¶¼ÄÜÕýÈ¿iËÙµÄʵÏÖ¹¦ÄÜ£¬µ«µ±×oÁ½´ÎͨѶʱ£¬È´ÓÐÃ÷ÏԵIJi±ð£¬µÚÒ»ÖÖ½¨µÚÒ»´ÎͨѶÌرð¿i¾Í½aÊøÁË£¬Õa¸oÎÒ¿ÉÒÔͨ¹ýþÎñ¶ËµÄÊa³o¿´³oÀ´£¬µ«Êǵڶþ´ÎͨѶҪµÈÉϺü¸ÖÖÓ²ÅÄܽaÊø£¬ÎÒÊÔÁ˺ü¸´Î¶¼ÕaÑu£¬ÎÒ²»Ì«Ça³þÎҵijÌÐoÄÄÀi³o´iÁË£¬»¹ÊÇÕa¸o½Ê½Á¬½Ó¾ÍÊÇÓÐÎÊÌa£¬µ«ÊǵڶþÖÖ½¨×oÕaÁ½´ÎͨѶȴºÜ¿i£¬ÕýÈ£¡Íe³ÉµÄdz£µÄ¡£

×iºoÎÒ¸u¾Ý µÚ¶þÖÖÇe¿oдÁËÒ»¸o class

////////////////////////////// File Description //////////////////////////////////////////
// Class Name : socket
// Version : V1.0
// Functional Outline : create socket,and send message to server
// Revision history : 2004/12/15 First version created
// Current : 2004/12/15 Liu Yongsheng
//////////////////////////////////////////////////////////////////////////////////////////
class socket{
var $socket; //socket ¾a±u
var $sendflag = ">>>";
var $recvflag = "<<<";
var $response;
var $debug = 1;
function socket($hostname,$port){
$address = gethostbyname($hostname);
$this->socket = socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
$result = socket_connect($this->socket,$address,$port);
if($this->debug == 1){
if ($result < 0) {
echo "socket_connect() failed.\nReason: ($result) " . socket_strerror($result) . "
";
} else{
echo "connect OK.
";
}
}
}
function sendmsg($msg){
socket_write($this->socket,$msg,strlen($msg));
$result = socket_read($this->socket,100);
$this->response = $result;
if($this->debug == 1){
printf("%s $msg
",$this->sendflag);
printf("%s $result
",$this->recvflag);
}
return $result;
}
function close(){
socket_close($this->socket);
}

}

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例