Welcome

首页 / 网页编程 / PHP / PHP请求Socket接口测试实例

使用php读取socket接口的数据,通过php传递请求方法和请求参数,得到返回结果
PHP文件:
<?phpclass 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("getmaillist
{"id":2}
");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("
")){String[] params=inputString.split("
");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接口测试实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。