Android与服务器通信的方法之一(TCP)效率高安全性完善
来源:互联网 发布:网络筹款平台哪个好 编辑:程序博客网 时间:2024/04/30 08:27
客户端代码:
Java代码
package com.yarin.android.Examples_08_04; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.net.InetAddress; import java.net.Socket; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; public class Activity01 extends Activity { private final String DEBUG_TAG = "Activity01"; private TextView mTextView=null; private EditText mEditText=null; private Button mButton=null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mButton = (Button)findViewById(R.id.Button01); mTextView=(TextView)findViewById(R.id.TextView01); mEditText=(EditText)findViewById(R.id.EditText01); //登陆 mButton.setOnClickListener(new OnClickListener() { public void onClick(View v) { Socket socket = null; String message = mEditText.getText().toString() + "\r\n"; try { //创建Socket socket = new Socket("116.29.27.138",5554); //查看本机IP,每次开机都不同 //socket=new Socket("192.168.1.110",50000); //向服务器发送消息 PrintWriter out = new PrintWriter( new BufferedWriter( new OutputStreamWriter(socket.getOutputStream())),true); out.println(message); //接收来自服务器的消息 BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream())); String msg = br.readLine(); if ( msg != null ) { mTextView.setText(msg); } else { mTextView.setText("数据错误!"); } //关闭流 out.close(); br.close(); //关闭Socket socket.close(); } catch (Exception e) { // TODO: handle exception Log.e(DEBUG_TAG, e.toString()); } } }); } } import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.io.PrintWriter;import java.net.InetAddress;import java.net.Socket;import android.app.Activity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.TextView; public class Activity01 extends Activity{private final String DEBUG_TAG = "Activity01"; private TextView mTextView=null;private EditText mEditText=null;private Button mButton=null; @Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main); mButton = (Button)findViewById(R.id.Button01);mTextView=(TextView)findViewById(R.id.TextView01);mEditText=(EditText)findViewById(R.id.EditText01); //登陆mButton.setOnClickListener(new OnClickListener(){public void onClick(View v){Socket socket = null;String message = mEditText.getText().toString() + "\r\n";try{//创建Socketsocket = new Socket("116.29.27.138",5554); //查看本机IP,每次开机都不同//socket=new Socket("192.168.1.110",50000);//向服务器发送消息PrintWriter out = new PrintWriter( new BufferedWriter( new OutputStreamWriter(socket.getOutputStream())),true); out.println(message); //接收来自服务器的消息BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));String msg = br.readLine(); if ( msg != null ){mTextView.setText(msg);}else{mTextView.setText("数据错误!");}//关闭流out.close();br.close();//关闭Socketsocket.close();}catch (Exception e){// TODO: handle exceptionLog.e(DEBUG_TAG, e.toString());}}});}} 服务器端代码:Java代码 package com.yarin.android.Examples_08_04; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; public class Server implements Runnable { public void run() { try { //创建ServerSocket ServerSocket serverSocket = new ServerSocket(5554); while (true) { //接受客户端请求 Socket client = serverSocket.accept(); System.out.println("accept"); try { //接收客户端消息 BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream())); String str = in.readLine(); System.out.println("read:" + str); //向服务器发送消息 PrintWriter out = new PrintWriter( new BufferedWriter( new OutputStreamWriter(client.getOutputStream())),true); out.println("server message"); //关闭流 out.close(); in.close(); } catch (Exception e) { System.out.println(e.getMessage()); e.printStackTrace(); } finally { //关闭 client.close(); System.out.println("close"); } } } catch (Exception e) { System.out.println(e.getMessage()); } } //main函数,开启服务器 public static void main(String a[]) { Thread desktopServerThread = new Thread(new Server()); desktopServerThread.start(); } }
1 0
- Android与服务器通信的方法之一(TCP)效率高安全性完善
- Android与服务器通信的方法之一(TCP)效率高安全性完善
- Android与服务器通信的方法之一(TCP)效率高安全性完善
- Android与服务器通信的方法之一(TCP)效率高安全性完善
- Android与服务器通信的方法之一(TCP)效率高安全性完善
- Android与服务器通信的方法之一(json)效率不高安全性不好
- Android与服务器通信的方法之一(TCP)
- 进程通信方法之一--管道(的容量与实现)
- Android平台下与服务器数据库通信的方法
- Android平台下与服务器数据库通信的方法
- Android与服务器的通信
- android TCP客户端通过socket与服务器通信
- android客户端与服务器通信一(服务器的搭建)
- 高性能服务器底层网络通信模块的设计方法
- 高性能服务器底层网络通信模块的设计方法
- 高性能服务器底层网络通信模块的设计方法
- 高性能服务器底层网络通信模块的设计方法
- 高性能服务器底层网络通信模块的设计方法
- 如何卸载lnmp
- <!DOCTYPE html>很重要
- 使用Bunble在Activity之间交换数据
- chmod命令使用详解
- Linux Kernel Crash Debug
- Android与服务器通信的方法之一(TCP)效率高安全性完善
- 【开源库大全】二、AndroidViewAnimations
- Android执行shell命令
- 初识zend
- Android 判断当前网络连接状态
- ffmpeg在windows下的编译
- 黑马程序员——继承
- [bash]命令行参数、getopt系列命令格式化命令行字符串
- Linux下SVN命令使用实例