udp基础知识
在前面的,这里不赘述,这里再对UDP安卓客户端和服务器端做一下说明,UDP本身是不区分服务器端和客户端的,只不过为了方便理解才将它这样区分,其实更好的应该直接说成发送端(客户端)和接收端(服务器端),两台设备在进行通信时,如果通信是双向的,那么每个设备都同时是发送端和接收端。
当一端作为发送端时,它需要明确知道接收端的IP地址和port号,也就是说在做udp客户端时要说明将要发送信息的目的地址的IP地址和端口号。下面直接来说明整个工程是如何一步一步完成的吧。
AndroidStudio完成整个demo
新建一个工程
打开androidstudio创建一个新的工程
页面布局代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<EditText
android:id="@+id/ip"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="3"
android:hint="ip"/>
<EditText
android:id="@+id/port"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2"
android:hint="port"/>
</LinearLayout>
<EditText
android:id="@+id/sendtext"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="8"
android:gravity="left"
android:text="发送区"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal">
<Button
android:id="@+id/send"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="发送"/>
<Button
android:id="@+id/cleantext"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="清空发送区" />
<Button
android:id="@+id/hex"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="16进制格式"/>
</LinearLayout>
</LinearLayout>
主活动代码
package com.example.hh.udpserverdemo;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app