android開發(fā)socket編程之udp發(fā)送實(shí)例分析
本文實(shí)例講述了android開發(fā)socket編程之udp發(fā)送實(shí)現(xiàn)方法。分享給大家供大家參考。具體分析如下:
需要實(shí)現(xiàn)的功能:采用udp下的socket編程,當(dāng)按下確認(rèn)鍵,模擬器發(fā)送文本框數(shù)據(jù),pc機(jī)上的網(wǎng)絡(luò)調(diào)試助手接收
一、環(huán)境:
win7 + eclipse + sdk
二、代碼:
package test.soket;
//import com.test_button.R;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.Socket;
import java.net.SocketException;
import java.net.UnknownHostException;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class test_socket extends Activity {
public static TextView show;
public static Button press;
public static boolean flag;
private static final int MAX_DATA_PACKET_LENGTH = 40;
private byte[] buffer = new byte[MAX_DATA_PACKET_LENGTH];
private DatagramPacket dataPacket;
private DatagramSocket udpSocket;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//開辟控件空間
show = (TextView)findViewById(R.id.editText1);
press = (Button)findViewById(R.id.button1);
flag = false;
//soket_send thread = new soket_send();
//thread.init();
//thread.start();
try
{
udpSocket = new DatagramSocket(5554);
}
catch (SocketException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
dataPacket = new DatagramPacket(buffer, MAX_DATA_PACKET_LENGTH);
String str = "hello,jdh"; //這是要傳輸?shù)臄?shù)據(jù)
byte out [] = str.getBytes(); //把傳輸內(nèi)容分解成字節(jié)
dataPacket.setData(out);
dataPacket.setLength(out.length);
dataPacket.setPort(5554);
try
{
InetAddress broadcastAddr = InetAddress.getByName("192.168.0.248");
dataPacket.setAddress(broadcastAddr);
udpSocket.send(dataPacket);
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
press.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View v)
{
flag = true;
/*
String str = "hello,jdh"; //這是要傳輸?shù)臄?shù)據(jù)
byte out [] = str.getBytes(); //把傳輸內(nèi)容分解成字節(jié)
dataPacket.setData(out);
dataPacket.setLength(out.length);
*/
//獲得輸入框文本
CharSequence str =test_socket.show.getText();
byte out[] = str.toString().getBytes();
dataPacket.setData(out);
dataPacket.setLength(out.length);
try
{
InetAddress broadcastAddr = InetAddress.getByName("192.168.0.248");
dataPacket.setAddress(broadcastAddr);
udpSocket.send(dataPacket);
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}
}
界面如下:

注意:在模擬器IP為本機(jī)IP,端口為模擬器名稱
希望本文所述對大家的Android程序設(shè)計(jì)有所幫助。
- Android Socket通信詳解
- Android編程之客戶端通過socket與服務(wù)器通信的方法
- Android中Socket通信的實(shí)現(xiàn)方法概述
- python服務(wù)器與android客戶端socket通信實(shí)例
- Android中使用socket通信實(shí)現(xiàn)消息推送的方法詳解
- Android開發(fā)中Socket通信的基本實(shí)現(xiàn)方法講解
- android Socket實(shí)現(xiàn)簡單聊天功能以及文件傳輸
- 詳解Android使用Socket對大文件進(jìn)行加密傳輸
- Android開發(fā)之Socket通信傳輸簡單示例
相關(guān)文章
Android自定義View的三種實(shí)現(xiàn)方式總結(jié)
本篇文章主要介紹了Android自定義View的三種實(shí)現(xiàn)方式總結(jié),非常具有實(shí)用價(jià)值,需要的朋友可以參考下。2017-02-02
android開發(fā)之關(guān)閉所有的activity的方法
本篇文章主要介紹了android開發(fā)之關(guān)閉所有的activity的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-12-12
Android性能優(yōu)化之RecyclerView分頁加載組件功能詳解
這篇文章主要為大家介紹了Android性能優(yōu)化之RecyclerView分頁加載組件功能詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09
Android實(shí)現(xiàn)橫向無限循環(huán)滾動的單行彈幕效果
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)橫向無限循環(huán)滾動的單行彈幕效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06

