电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

PHP SOCKET 技術(shù)研究

瀏覽:4日期:2024-01-29 15:00:59

今天試著寫一個(gè) PHP 與 C 語言通過socket通訊的程序,看過PHP手冊(cè),發(fā)現(xiàn)有好幾種方式可以建立socket 客戶端.

1、通過 fsockopen() 建立socket連接,然后用 用fputs() 發(fā)送消息,用 fgets() 接收消息。

2、通過 socket_create() 建立 socket 連接,然后用 socket_send() or socket_write() 發(fā)送消息,用 socket_recv() or socket_read() 發(fā)送消息。

很奇怪,我在手冊(cè)上看到了這樣一段話'本擴(kuò)展模塊是實(shí)驗(yàn)性的。該模塊的行為,包括其函數(shù)的名稱以及其它任何關(guān)于此模塊的文檔可能會(huì)在沒有通知的情況下隨 PHP 以后的發(fā)布而改變。我們提醒您在使用本擴(kuò)展模塊的同時(shí)自擔(dān)風(fēng)險(xiǎn)。' 看來 php4.0 socket通訊還不是完全穩(wěn)定。

今天我寫的客戶端要與服務(wù)端做兩次通訊,我用上面這個(gè)方法都寫了一個(gè)客戶端程序,發(fā)現(xiàn)當(dāng)僅僅就一次通訊的時(shí)候,也就是PHP客戶端發(fā)送一次消息,然后接收返回消息,就關(guān)閉連接。這兩種方法都能正確快速的實(shí)現(xiàn)功能,但當(dāng)做兩次通訊時(shí),卻有明顯的差別,第一種方法第一次通訊特別快就結(jié)束了,這個(gè)我可以通過服務(wù)端的輸出看出來,但是第二次通訊要等上好幾分鐘才能結(jié)束,我試了好幾次都這樣,我不太清楚我的程序哪里出錯(cuò)了,還是這個(gè)方式連接就是有問題,但是第二種方法做這兩次通訊卻很快,正確!完成的非常的。

最后我根據(jù) 第二種情況寫了一個(gè) 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 句柄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) . '<br>'; } else{ echo 'connect OK.<br>'; } }}function sendmsg($msg){ socket_write($this->socket,$msg,strlen($msg)); $result; = socket_read($this->socket,100); $this->response = $result; if($this->debug == 1){ printf('<font color=#CCCCCC>%s $msg</fon><br>',$this->sendflag); printf('<font color=blue>%s $result</font><br>',$this->recvflag); } return $result;}function close(){ socket_close($this->socket);}

}

標(biāo)簽: PHP
主站蜘蛛池模板: 联系我们-腾龙公司上分客服微信19116098882 | 不锈钢电动球阀_气动高压闸阀_旋塞疏水调节阀_全立阀门-来自温州工业阀门巨头企业 | 北京软件开发_软件开发公司_北京软件公司-北京宜天信达软件开发公司 | AR开发公司_AR增强现实_AR工业_AR巡检|上海集英科技 | 加气混凝土砌块设备,轻质砖设备,蒸养砖设备,新型墙体设备-河南省杜甫机械制造有限公司 | 上海物流公司,上海货运公司,上海物流专线-优骐物流公司 | 医疗仪器模块 健康一体机 多参数监护仪 智慧医疗仪器方案定制 血氧监护 心电监护 -朗锐慧康 | 等离子表面处理机-等离子表面活化机-真空等离子清洗机-深圳市东信高科自动化设备有限公司 | 生态板-实木生态板-生态板厂家-源木原作生态板品牌-深圳市方舟木业有限公司 | 专业生物有机肥造粒机,粉状有机肥生产线,槽式翻堆机厂家-郑州华之强重工科技有限公司 | 焊锡丝|焊锡条|无铅锡条|无铅锡丝|无铅焊锡线|低温锡膏-深圳市川崎锡业科技有限公司 | 天津试验仪器-电液伺服万能材料试验机,恒温恒湿标准养护箱,水泥恒应力压力试验机-天津鑫高伟业科技有限公司 | 深圳装修_店面装修设计_餐厅设计_装修全包价格-尚泰装饰设计 | 列管冷凝器,刮板蒸发器,外盘管反应釜厂家-无锡曼旺化工设备有限公司 | 合肥升降机-合肥升降货梯-安徽升降平台「厂家直销」-安徽鼎升自动化科技有限公司 | vr安全体验馆|交通安全|工地安全|禁毒|消防|安全教育体验馆|安全体验教室-贝森德(深圳)科技 | 锻造液压机,粉末冶金,拉伸,坩埚成型液压机定制生产厂家-山东威力重工官方网站 | 橡胶电子拉力机-塑料-微电脑电子拉力试验机厂家-江苏天源 | 【365公司转让网】公司求购|转让|资质买卖_股权转让交易平台 | 云阳人才网_云阳招聘网_云阳人才市场_云阳人事人才网_云阳人家招聘网_云阳最新招聘信息 | 高通量组织研磨仪-多样品组织研磨仪-全自动组织研磨仪-研磨者科技(广州)有限公司 | 防火窗_耐火窗_防火门厂家_防火卷帘门-重庆三乐门业有限公司 | 磁力去毛刺机_去毛刺磁力抛光机_磁力光饰机_磁力滚抛机_精密金属零件去毛刺机厂家-冠古科技 | 冷轧机|两肋冷轧机|扁钢冷轧机|倒立式拉丝机|钢筋拔丝机|收线机-巩义市华瑞重工机械制造有限公司 | 高扬程排污泵_隔膜泵_磁力泵_节能自吸离心水泵厂家-【上海博洋】 | 踏板力计,制动仪,非接触多功能速度仪,逆反射系数测试仪-创宇 | 厂厂乐-汇聚海量采购信息的B2B微营销平台-厂厂乐官网 | 立式硫化罐-劳保用品硫化罐-厂家直销-山东鑫泰鑫硫化罐厂家 | 焊接烟尘净化器__焊烟除尘设备_打磨工作台_喷漆废气治理设备 -催化燃烧设备 _天津路博蓝天环保科技有限公司 | 储能预警-储能消防系统-电池舱自动灭火装置-四川千页科技股份有限公司官网 | 驾驶人在线_专业学车门户网站| 篮球架_乒乓球台_足球门_校园_竞技体育器材_厂家_价格-沧州浩然体育器材有限公司 | 制冷采购电子商务平台——制冷大市场 | 四川成人高考_四川成考报名网 | 济南ISO9000认证咨询代理公司,ISO9001认证,CMA实验室认证,ISO/TS16949认证,服务体系认证,资产管理体系认证,SC食品生产许可证- 济南创远企业管理咨询有限公司 郑州电线电缆厂家-防火|低压|低烟无卤电缆-河南明星电缆 | 济南保安公司加盟挂靠-亮剑国际安保服务集团总部-山东保安公司|济南保安培训学校 | 垃圾压缩设备_垃圾处理设备_智能移动式垃圾压缩设备--山东明莱环保设备有限公司 | 建大仁科-温湿度变送器|温湿度传感器|温湿度记录仪_厂家_价格-山东仁科 | 联系我们-腾龙公司上分客服微信19116098882 | 扫地车厂家-山西洗地机-太原电动扫地车「大同朔州吕梁晋中忻州长治晋城洗地机」山西锦力环保科技有限公司 | 大学食堂装修设计_公司餐厅效果图_工厂食堂改造_迈普装饰 |