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" />

Android-Socket传输 GPRS网络,布布扣,bubuko.com

时间: 2024-10-10 14:32:14

Android-Socket传输 GPRS网络的相关文章

Android开发中WIFI和GPRS网络的切换

在项目的开发中因为要使用到WIFI和GPRS网络的切换,因此就研究了一下通过代码打开WIFI和GPRS的工作. 无论是切换WIFI还是切换GPRS网络都需要设置相应的权限,所以需要在AndroidManifest.xml文件中加入以下几行代码. <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="andro

android socket 网络数据传输

原文:http://blog.sina.com.cn/s/blog_726233070100nqw7.html 讲解一下android socket ,包括获取数据包,拆包,解包的过程. 有时候应用程序需要从网络上收发一些数据,软件的底层是用socket实习的,android操作系统的内核是linux,开发语言是java,刚好数据存储结构和以c构建的服务器大小头是相反的,所以取到c做的服务器数据时,需要转换一下数据的大小头.这里也一并讲解. 首先是socket //实例化一个socket(指定服

Android使用VideoView播放网络视频

Android支持播放网络上的视频.在播放网络上的视频时,牵涉到视频流的传输,往往有两种协议,一种是HTTP,一种是RTSP.这 两种协议最大的不同是,HTTP协议,不支持实时流媒体的播放,而RTSP协议就支持. Android中自带的播放器,以及VideoView等都支持上述两种协议,因此,可以直接播放网络上的视频,唯一不同的就是URI. 代码如下: package demo.camera; import android.app.Activity; import android.net.Uri

1.socket编程:socket编程,网络字节序,函数介绍,IP地址转换函数,sockaddr数据结构,网络套接字函数,socket相关函数,TCP server和client

 1  Socket编程 socket这个词可以表示很多概念: 在TCP/IP协议中,"IP地址+TCP或UDP端口号"唯一标识网络通讯中的一个进程,"IP 地址+端口号"就称为socket. 在TCP协议中,建立连接的两个进程各自有一个socket来标识,那么这两个socket组成的socket pair就唯一标识一个连接.socket本身有"插座"的意思,因此用来描述网络连 接的一对一关系. TCP/IP协议最早在BSD UNIX上实现,

Android Socket 发送广播包的那些坑

Socket广播包经常被用于局域网内的两台设备之间互相发现和消息传递,在Android应用开发过程中,也经常会遇到这样的需求,例如:两台Android设备之间.Android与手环等智能硬件之间.Android与Windows电脑之间等等. 本文主要介绍在Android中使用Socket开发广播包程序时需要注意的编程事项,以及解决方法. 首先给出一段Android发送广播包的示例代码: DatagramSocket socket = new DatagramSocket(8000); socke

Android - Socket 功能在 Service 中实现【这才是实际的使用情况】

前几天学习了 Android 下 Socket 编程,由于个人是刚开始学习 Android 相应的知识.所以特意将学习中的代码与过程,写成 BLOG,如:http://blog.csdn.net/91program/article/details/39177401学习 Socket 编程是有目的的,需要完成在手机与 PC 之间的通讯.通讯的内容是将手机上播放的 MP3 信息,通过 Socket 传输到 PC 端.在参考网上相关 Socket 的文章后,基本上完成了 Socket 功能.所以就继续

Android Socket编程学习笔记

通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄.在Internet上的主机一般运行了多个服务软件,同时提供几种服务.每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务. 网络上的两个程序通过一个双向的通讯连接实现数据的交换,这个双向链路的一端称为一个Socket.Socket通常用来实现客户方和服务方的连接.Socket是TCP/IP协议的一个十分流行的编程界面,一个Socket由一个IP地址和一个端口号唯一确定. 在java中,Socke

Socket传输结构体数据注意事项

[1 背景] 在Socket通信中,要传输结构化的数据或者要进行协议数据传输的时候,发送端必须要构造结构体进行数据传输. 接收端也必须通过同样的结构体进行解析. 但Socket传输结构体数据时候,稍有不慎就会出现:1)解析数据出错:2)接收数据不完整:3)解析为乱码等的Bug. [2 举例] 如下是接收端解析数据为乱码甚至崩溃的一类常见错误. 结构体也就是一段连续的内存. 但是类似如下的结构体: typedef struct _PER_SPIDER_INFO { UINT nTimeDelay;

Android socket 学习记录 之 执行new socket(ip, port)程序崩溃

这段时间在学习Android的socket编程,我不是专做APP的,做的是bootloader.驱动.hal.framework这个线的,也就是系统搭建和功能优化设计.为了打通这整条线,为此学习了不少东西,今天把Android的socket学习记录一下,以防止以后会出现这样的低级错误. 我这里是在极客学院的源码基础上做的自己的一些添加和修改,学习开始不就是先会修改么,举一反三,自然就很快学会了.由于看过视频和资料后就迫不及待的按照自己的想法想做一个功能,但是遇到麻烦了,就是执行new socke