首页 > 代码库 > Android-Socket传输 GPRS网络

Android-Socket传输 GPRS网络

手机使用GPRS网络与服务器进行Socket通信,代码下载地址:http://download.csdn.net/detail/wu20093346/7768481

用UDP协议与Socket调试工具进行测试。

SocketActivity.java:

package com.example.socket;

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.Button;
import android.view.View.OnClickListener;

public class SocketActivity extends Activity {

	private Button startButton = null;
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_socket);
		startButton = (Button)findViewById(R.id.startListener);
		startButton.setOnClickListener(new StartSocketListener());
	}
	
	class StartSocketListener implements OnClickListener{
		
		@Override
		public void onClick(View v){
			new ServerThread().start();
		}
	}
	
	class ServerThread extends Thread{
		public void run(){
			try{
				DatagramSocket socket = new DatagramSocket(1234);
				InetAddress serverAddress = InetAddress.getByName("115.238.249.92");
				String str = "hello";
				byte data[] = str.getBytes();
				DatagramPacket packet = new DatagramPacket(data,data.length,serverAddress,1234);
				socket.send(packet);
			}catch (Exception e)
			{
				e.printStackTrace();
			}	
		}
	}
}
activity_socket.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".SocketActivity" >

    <Button
        android:id="@+id/startListener"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:onClick="OnClickListener"
        android:text="@string/Start" />

</RelativeLayout>

Socket调试工具创建UDP Server监听1234端口,本机IP为115.238.249.92。安装运行apk,按下Send按钮,服务器端收到数据。



注意在AndroidManifest.xml中添加:

<uses-permission android:name="android.permission.INTERNET" />