使用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)!