当前位置:首页 > PHP教程 > PHP常见问题

PHP请求Socket接口测试实例

使用php读取socket接口的数据,通过php传递请求方法和请求参数,得到返回结果

php文件:

<?php class test{ const ip='127.0.0.1'; const port=10003; public static function main(){ header("content-type:text/html;charset=utf-8"); $socket=new test(); $result=$socket->connsocket("getmaillistrn{'id':2}rn"); echo $result; } private function connsocket($str){ $socket = socket_create(af_inet,sock_stream,sol_tcp); $res=@socket_connect($socket,self::ip,self::port); if(!$res){ return; } socket_write($socket,$str); $result=""; while($data = socket_read($socket,1024)){ $result.=$data; } socket_close($socket); return $result; } } test::main();

java的socket服务端:

import java.io.inputstream; import java.io.printwriter; import java.net.serversocket; import java.net.socket; public class test { public static void main(string[] args) throws exception { serversocket serversocket = new serversocket(10003); while (true) { socket socket = serversocket.accept(); inputstream is = socket.getinputstream(); byte[] b = new byte[1024]; int len = is.read(b); string inputstring = new string(b, 0, len); printwriter pw=new printwriter(socket.getoutputstream(),true); string result=""; //处理发来的数据 if(inputstring.contains("rn")){ string[] params=inputstring.split("rn"); if(params[0].equals("getmaillist")){ string maillist=getmaillist(); result="请求方法:"+params[0]+",请求参数:"+params[1]+",请求结果:"+maillist; }else{ result="非法参数2"; } }else{ result="非法参数1"; } pw.println(result); socket.close(); } } public static string getmaillist(){ return "中国上海/2015年7月28日——服务于中国及全球华人社群的领先在线媒体公司新浪公司(nasdaq gs: sina)定于美国当地时间2016年8月8日周一股市收盘后公布截至2016年6月30日的2016第二季度未经审计的财务报告。随后,新浪管理团队将于美国东部时间晚10点10分召开电话会议,通报公司的财务和经营状况。"; } }

效果:

以上这篇php请求socket接口测试实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持硕编程。



【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!