`
laoye4536
  • 浏览: 9725 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

android中用socket 接收服务器的消息

阅读更多

socket 接收服务器消息

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.Socket;
import java.net.UnknownHostException;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

@SuppressLint("HandlerLeak")
public class SocketDemo extends Activity {
    /** Called when the activity is first created. */
    private Button btn_receive;
    private TextView txt;
    private String line;

    private static final String HOST = "192.168.1.101";
    private static final int PORT = 9999;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initControl();
    }

    private void initControl() {
        btn_receive = (Button) findViewById(R.id.btn_receive);
        txt = (TextView) findViewById(R.id.txt);
        btn_receive.setOnClickListener(new ReceiverListener());
    }


    @SuppressLint("HandlerLeak")
    class ReceiverListener implements OnClickListener {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            new Thread() {
                @Override
                public void run() {
                    // 执行完毕后给handler发送一个空消息
                    try {
                        // 实例化Socket
                        Socket socket = new Socket(HOST, PORT);
                        // 获得输入流
                        BufferedReader br = new BufferedReader(
                            new InputStreamReader(socket.getInputStream()));
                        line = br.readLine();
                        br.close();
                    } catch (UnknownHostException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    handler.sendEmptyMessage(0);
                }
            } .start();
        }

    }

    // 定义Handler对象
    private Handler handler = new Handler() {
        @Override
        // 当有消息发送出来的时候就执行Handler的这个方法
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            // 处理UI
            txt.setText(line);
            Log.i("PDA", "----->" + line);
        }
    };

}

 

 转自云代码:yuncode.net/code/c_518ee8bc8b0ae74

分享到:
评论

相关推荐

    C#中用Socket实现判断网络是否断开的实例[参照].pdf

    标题:C#中用Socket实现判断网络是否断开的实例 描述:本实例展示了如何使用C#中的Socket类来判断网络是否断开。通过建立客户端和服务器端的Socket连接,实例中演示了如何发送和接收数据,并判断网络是否断开。 ...

    C#中用SOCKET发送HTTP请求小例

    C#中用SOCKET发送HTTP请求小例 自行组织http报文,报显示服务器反馈回来的报头与报体信息。 ------------- HTTP/1.1 200 OK Date: Mon, 08 Dec 2008 14:20:51 GMT Server: BWS/1.0

    java中用socket实现简单聊天通信的源码

    在这个“java中用socket实现简单聊天通信的源码”中,我们可以深入理解如何使用Java进行网络通信,这对于任何想要构建基于网络的应用程序的开发者来说都是至关重要的。 首先,让我们了解一下Socket的基本概念。...

    C++ Builder中用socket api来写网络通讯程序

    Socket API是一套标准的编程接口,用于在网络应用程序之间发送和接收数据。它允许程序员使用统一的接口进行网络通信,无论底层网络协议是TCP还是UDP。在Windows环境下,Socket API通常通过Winsock库提供,该库定义了...

    在Android中用textview实现简单的小说分页

    在Android应用开发中,创建一个可以分页显示小说内容的功能是一项常见的需求。本文将深入探讨如何使用TextView在Android环境中实现这一功能,同时考虑到字体大小的调整以及字符串处理的灵活性。 首先,TextView是...

    Java Socket传输图片源代码

    - 客户端创建`FileOutputStream`,接收来自服务器的输入流数据,并将其写入本地文件,从而完成图片的接收。 5. **异常处理**: - 在Socket编程中,必须妥善处理各种网络异常,如`IOException`、`SocketException`...

    JAVA Socket编程实现文件上传

    在这个场景中,我们讨论的是如何使用Java的Socket来实现文件上传功能,即从客户端将文件发送到服务器,然后保存到服务器的数据库中。这个过程涉及到多个关键知识点,下面我们将详细探讨。 1. **Java Socket基础**:...

    socket定时发送数据小程序

    当接收到客户端的数据时,服务器端同样会通过Socket的`InputStream`读取并处理数据。 以上就是"socket定时发送数据小程序"的核心知识点。这个程序展示了如何结合Socket和定时器来实现定期的数据传输,这对于实时...

    Android中用ViewPage实现真实翻页效果

    "Android中用ViewPage实现真实翻页效果"这个主题就是关于如何在Android应用中创建类似真实书籍翻页的效果。这种效果通常被用于电子书阅读器或者滑动浏览多页面内容的应用中,给用户带来更生动和自然的互动体验。 `...

    Delphi 7 中用Indy开发Socket应用程序

    Delphi 7 中用 Indy 开发 Socket 应用程序 Delphi 7 中用 Indy 开发 Socket 应用程序是基于 Indy 组件的 TCP Socket 应用程序的开发指南。 Indy 是一个开放源代码的 Internet 组件集,涵盖了几乎所有流行的 ...

    windows service里使用socket 开服务端口例子

    使用`BeginReceive`方法启动异步接收数据,然后在回调函数中处理接收到的数据,并可能使用`BeginSend`发送响应。 6. **异常处理与关闭连接**:在处理过程中,确保捕获并适当地处理异常,如`SocketException`。当...

    在android中用jdbc连接数据库

    文件"Setting up a linux MySql backend for your Android Application « Hackers Anonymous.mht"可能会涵盖如何在Linux服务器上配置MySQL数据库,以供Android应用使用。这通常包括以下步骤: - 安装MySQL服务器 ...

    java Socket 通讯 源代码

    在Java中用socket进行客户/服务器之间的通信编程。Socket是两个实体之间进行通信的有效端点。通过socket可以获得源IP地址和源端口、终点IP地址和终点端口。用户可以将多个socket连入同一个端口,以便对于单个端口...

    Android中用Application类实现全局变量

    ### Android中用Application类实现全局变量 在Android开发过程中,我们常常需要在多个组件之间共享数据,例如存储用户的登录状态、应用配置等信息。通常情况下,开发者会利用`SharedPreferences`或者`...

    Java基于Socket文件传输示.doc

    客户端的`ClientSocket`类则负责接收服务器端发送的数据。它也使用了类似的包装结构,即`DataOutputStream`和`DataInputStream`,并且可能包含一个辅助方法来打开连接,读取文件名和长度,然后接收并保存文件内容。 ...

    Android中用xml配置旋转动画项目的要求说明.pdf

    针对"Android中用xml配置旋转动画项目的要求说明",我们将详细讲解如何在Android应用中创建一个使用XML定义的旋转动画。 首先,我们需要明白旋转动画(Rotation Animation)的基本概念。旋转动画是Android动画框架...

    Android模仿微信消息列表

    2. **RecyclerView**:RecyclerView是Android中用来展示大量数据的高效组件,替代了旧版的ListView。你需要设置LayoutManager(如LinearLayoutManager或GridLayoutManager)来决定数据如何布局,同时需要创建一个...

    android中用ndk编译c并用jni调用的demo源码

    这个“android中用ndk编译c并用jni调用的demo源码”提供了实践NDK和JNI集成的实例,帮助我们深入理解它们的工作原理和使用方法。 首先,NDK是Android开发的一个组成部分,它允许开发者使用C、C++语言编写部分应用...

    android中用json传中文

    解决android 与网站过程中不能传送中文的问题,用json传中文。

    VB6.0实现SOCKET通讯一对多

    2. **服务器端建立**:首先,我们需要在服务器端创建一个监听SOCKET,通过设置WINSOCK控件的LocalPort属性指定监听的端口号,并调用Listen方法开始监听连接请求。 3. **客户端连接**:客户端通过指定服务器的IP地址...

Global site tag (gtag.js) - Google Analytics