歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android編程學習:http + socket 通信例程

Android編程學習:http + socket 通信例程

日期:2017/3/1 10:30:15   编辑:Linux編程

開發板phpinfo部分信息:

[html]
  1. System
  2. Linux ShiGuang 2.6.32.2-FriendlyARM #2 Fri Aug 19 10:45:24 CST 2011 armv4tl
  3. Configure Command
  4. './configure' '--prefix=/usr/local/php_arm' '--host=arm-linux' '--target=arm-linux' '--enable-sockets'
  5. DOCUMENT_ROOT
  6. /usr/local/apache_arm/htdocs
  7. HTTP_HOST
  8. 192.168.1.120

post_datas.php

[php]
  1. <span style="font-size:18px;"><?php
  2. @header("content-type:text/html; charset=utf-8");
  3. error_reporting(E_ALL);
  4. set_time_limit(0);
  5. $user = $_REQUEST['user'];
  6. $passed = $_REQUEST['passwd'];
  7. $para = $_REQUEST['para'];
  8. $service_port = 9090;
  9. $address = "192.168.1.97";
  10. $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
  11. if ($socket < 0)
  12. {
  13. echo "socket_create() failed: reason: " . socket_strerror($socket) . "\n";
  14. }
  15. $result = socket_connect($socket, $address, $service_port);
  16. if ($result < 0)
  17. {
  18. echo "socket_connect() failed: reason: " . socket_strerror($result) . "\n";
  19. }
  20. $in = $user . $passed . $para;
  21. $result = socket_write($socket, $in, strlen($in)) ;
  22. if(!$result)
  23. {
  24. echo "socket_write() failed: reason: " . socket_strerror($socket) . "\n";
  25. }
  26. while($out = socket_read($socket,256))
  27. {
  28. echo $out;
  29. break;
  30. }
  31. socket_close($socket);
  32. ?>
  33. </span>
Mini2440Activity.java

[java]
  1. package sg131971.mini2440;
  2. import java.io.IOException;
  3. import java.util.ArrayList;
  4. import java.util.List;
  5. import org.apache.http.HttpResponse;
  6. import org.apache.http.NameValuePair;
  7. import org.apache.http.client.ClientProtocolException;
  8. import org.apache.http.client.HttpClient;
  9. import org.apache.http.client.entity.UrlEncodedFormEntity;
  10. import org.apache.http.client.methods.HttpPost;
  11. import org.apache.http.impl.client.DefaultHttpClient;
  12. import org.apache.http.message.BasicNameValuePair;
  13. import org.apache.http.util.EntityUtils;
  14. import Android.app.Activity;
  15. import android.os.Bundle;
  16. import android.view.View;
  17. import android.view.View.OnClickListener;
  18. import android.widget.Button;
  19. public class Mini2440Activity extends Activity {
  20. public class myButtonListener implements OnClickListener {
  21. private HttpResponse response;
  22. private String tmpString;
  23. public void onClick(View arg0) {
  24. // TODO Auto-generated method stub
  25. HttpClient httpclient = new DefaultHttpClient();
  26. HttpPost httppost = new HttpPost("http://192.168.1.123/post_datas.php");
  27. try {
  28. List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(3);
  29. nameValuePairs.add(new BasicNameValuePair("user", "root"));
  30. nameValuePairs.add(new BasicNameValuePair("passwd","shiguang"));
  31. nameValuePairs.add(new BasicNameValuePair("para","58402F01"));
  32. httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
  33. response = httpclient.execute(httppost);
  34. tmpString = EntityUtils.toString(response.getEntity());
  35. System.out.print(tmpString);
  36. } catch (ClientProtocolException e) {
  37. // TODO Auto-generated catch block
  38. e.printStackTrace();
  39. } catch (IOException e) {
  40. // TODO Auto-generated catch block
  41. e.printStackTrace();
  42. }
  43. }
  44. }
  45. private Button myButton;
  46. /** Called when the activity is first created. */
  47. @Override
  48. public void onCreate(Bundle savedInstanceState) {
  49. super.onCreate(savedInstanceState);
  50. setContentView(R.layout.main);
  51. myButton = (Button) findViewById(R.id.myButton);
  52. myButton.setOnClickListener(new myButtonListener());
  53. }
  54. }

Android程序與上一篇文章的程序完全一樣 http://www.linuxidc.com/Linux/2012-02/54795.htm

結果截圖:



Copyright © Linux教程網 All Rights Reserved