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

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

PHP SOCKET 技術(shù)研究

瀏覽:5日期: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
主站蜘蛛池模板: 捆扎机_气动捆扎机_钢带捆扎机-沈阳海鹞气动钢带捆扎机公司 | 温湿度记录纸_圆盘_横河记录纸|霍尼韦尔记录仪-广州汤米斯机电设备有限公司 | 中视电广_短视频拍摄_短视频推广_短视频代运营_宣传片拍摄_影视广告制作_中视电广 | 颗粒机,颗粒机组,木屑颗粒机-济南劲能机械有限公司 | 澳洁干洗店加盟-洗衣店干洗连锁「澳洁干洗免费一对一贴心服务」 干洗加盟网-洗衣店品牌排行-干洗设备价格-干洗连锁加盟指南 | 达利园物流科技集团- | 橡胶粉碎机_橡胶磨粉机_轮胎粉碎机_轮胎磨粉机-河南鼎聚重工机械制造有限公司 | 杜甫仪器官网|实验室平行反应器|升降水浴锅|台式低温循环泵 | 底部填充胶_电子封装胶_芯片封装胶_芯片底部填充胶厂家-东莞汉思新材料 | 沥青车辙成型机-车托式混凝土取芯机-混凝土塑料试模|鑫高仪器 | 影像测量仪_三坐标测量机_一键式二次元_全自动影像测量仪-广东妙机精密科技股份有限公司 | 耐酸泵,耐腐蚀真空泵,耐酸真空泵-淄博华舜耐腐蚀真空泵有限公司 精密模具-双色注塑模具加工-深圳铭洋宇通 | 低压载波电能表-单相导轨式电能表-华邦电力科技股份有限公司-智能物联网综合管理平台 | 球磨机 选矿球磨机 棒磨机 浮选机 分级机 选矿设备厂家 | 热缩管切管机-超声波切带机-织带切带机-无纺布切布机-深圳市宸兴业科技有限公司 | 螺旋叶片_螺旋叶片成型机_绞龙叶片_莱州源泽机械制造有限公司 | 心得体会网_心得体会格式范文模板| 铝镁锰板厂家_进口钛锌板_铝镁锰波浪板_铝镁锰墙面板_铝镁锰屋面-杭州军晟金属建筑材料 | 合肥汽车充电桩_安徽充电桩_电动交流充电桩厂家_安徽科帝新能源科技有限公司 | 铝箔袋,铝箔袋厂家,东莞铝箔袋,防静电铝箔袋,防静电屏蔽袋,防静电真空袋,真空袋-东莞铭晋让您的产品与众不同 | 浙江美尔凯特智能厨卫股份有限公司 | ALC墙板_ALC轻质隔墙板_隔音防火墙板_轻质隔墙材料-湖北博悦佳 | 六维力传感器_三维力传感器_二维力传感器-南京神源生智能科技有限公司 | 智成电子深圳tdk一级代理-提供TDK电容电感贴片蜂鸣器磁芯lambda电源代理经销,TDK代理商有哪些TDK一级代理商排名查询。-深圳tdk一级代理 | TPE_TPE热塑性弹性体_TPE原料价格_TPE材料厂家-惠州市中塑王塑胶制品公司- 中塑王塑胶制品有限公司 | PCB厂|线路板厂|深圳线路板厂|软硬结合板厂|电路板生产厂家|线路板|深圳电路板厂家|铝基板厂家|深联电路-专业生产PCB研发制造 | 上海租车公司_上海包车_奔驰租赁_上海商务租车_上海谐焕租车 | 天津仓库出租网-天津电商仓库-天津云仓一件代发-【博程云仓】 | 品牌策划-品牌设计-济南之式传媒广告有限公司官网-提供品牌整合丨影视创意丨公关活动丨数字营销丨自媒体运营丨数字营销 | 除湿机|工业除湿机|抽湿器|大型地下室车间仓库吊顶防爆除湿机|抽湿烘干房|新风除湿机|调温/降温除湿机|恒温恒湿机|加湿机-杭州川田电器有限公司 | 北京网站建设首页,做网站选【优站网】,专注北京网站建设,北京网站推广,天津网站建设,天津网站推广,小程序,手机APP的开发。 | 环压强度试验机-拉链拉力试验机-上海倾技仪器仪表科技有限公司 | 化工ERP软件_化工新材料ERP系统_化工新材料MES软件_MES系统-广东顺景软件科技有限公司 | 东莞海恒试验仪器设备有限公司 | 【直乐】河北石家庄脊柱侧弯医院_治疗椎间盘突出哪家医院好_骨科脊柱外科专业医院_治疗抽动症/关节病骨伤权威医院|排行-直乐矫形中医医院 | 剪刃_纵剪机刀片_分条机刀片-南京雷德机械有限公司 | 楼承板设备-楼承板成型机-免浇筑楼承板机器厂家-捡来 | 银川美容培训-美睫美甲培训-彩妆纹绣培训-新娘化妆-学化妆-宁夏倍莱妮职业技能培训学校有限公司 临时厕所租赁_玻璃钢厕所租赁_蹲式|坐式厕所出租-北京慧海通 | 法兰连接型电磁流量计-蒸汽孔板节流装置流量计-北京凯安达仪器仪表有限公司 | 讲师宝经纪-专业培训机构师资供应商_培训机构找讲师、培训师、讲师经纪就上讲师宝经纪 | 广东高华家具-公寓床|学生宿舍双层铁床厂家【质保十年】 |