我是PHP和Android的新手。
我在PHP中这样做这个请求效果很好。 "名称"将包含一个变量,如" upperLight"这样我们就可以与android代码进行比较。
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_connect($sock,"192.168.2.104", 80);
$msg = 'a';
if (isset($_POST["name"])){
$msg= $_POST["name"] ;
}
socket_write($sock, $msg);
我正在尝试在这样的机器人中做同样的事情,但它不起作用。
List<NameValuePair> pairs = new ArrayList<NameValuePair>();
pairs.add(new BasicNameValuePair("upperLight","1"));
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost(URLTest);
post.setEntity(new UrlEncodedFormEntity(pairs));
HttpResponse execute = client.execute(post);
另一端(192.168.2.104)我正在检查单词&#34; upperLight&#34;在请求中。
编辑:变量URLTest包含 - &#34; 192.168.2.104:80&#34;
答案 0 :(得分:0)
试试这个
URL url = new URL("http://192.168.2.104:80");
URLConnection con = url.openConnection();
con.setDoOutput(true);
OutputStreamWriter out = new OutputStreamWriter(con.getOutputStream());
out.write( "upperLight" );
out.flush();
答案 1 :(得分:0)
PHP代码连接到端口80上的TCP套接字,而Android代码连接到HTTP服务器。
这是两件完全不同的事情。如果需要将PHP代码移植到Java / Android,则首先使用相应的库Socket。