android studio socket编程实例

android客户端通过socket与服务器进行通信可以分为以下几步:
应用程序与服务器通信可以采用两种模式:TCP可靠通信 和UDP不可靠通信。
(1)通过IP地址和端口实例化Socket,请求连接服务器:
     socket = new Socket(HOST, PORT);   //host:为服务器的IP地址  port:为服务器的端口号
(2)获取Socket流以进行读写,并把流包装进BufferWriter或者PrintWriter:
   PrintWriter out = new PrintWriter( new BufferedWriter( new OutputStreamWriter(socket.getOutputStream())),true);  
   这里涉及了三个类:socket.getOutputStream得到socket的输出字节流,OutputStreamWriter是字节流向字符流转换的桥梁,BufferWriter是字符流,然后再包装进PrintWriter。
(3)对Socket进行读写
if (socket.isConnected()) {
                    if (!socket.isOutputShutdown()) {
                        out.println(msg);
                    }
                }

(4)关闭打开的流

 out.close();

********************************************

在写代码的过程中一定要注意对socket  输入流  输出流的关闭

下面是一个简单的例子:
main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    android:orientation="vertical"
    android:layout_width="fill_parent"  
    android:layout_height="fill_parent">  
    <TextView
        android:id="@+id/TextView"
        android:singleLine="false"  
        android:layout_width="fill_parent"  
        android:layout_height="wrap_content" />  
    <EditText android:hint="content"
        android:id="@+id/EditText01"  
        android:layout_width="fill_parent"  
        android:layout_height="wrap_content">  
    </EditText>  
    <Button
        android:text="send"
        android:id="@+id/Button02"  
        android:layout_width="fill_parent"  
        android:layout_height="wrap_content">  
    </Button>  
</LinearLayout>

下面是android客户端的源代码:

package com.android.SocketDemo;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;
import android.app.Activity;
import android.app.AlertDialog;
import and

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值