Я новичок в 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);
Я пытаюсь сделать то же самое в Android, как это, но это не работает.
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) я проверяю слово «upperLight» в запросе.
РЕДАКТИРОВАТЬ: переменная URLTest содержит — «192.168.2.104:80»
попробуй это
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();
Код PHP подключается к TCP-сокету через порт 80, а код Android подключается к HTTP-серверу.
Это две совершенно разные вещи. Если вам нужно перенести код PHP на Java / Android, вы должны начать с использования соответствующей библиотеки, которая Разъем.