android開發(fā)socket編程之udp發(fā)送實例分析
本文實例講述了android開發(fā)socket編程之udp發(fā)送實現(xiàn)方法。分享給大家供大家參考。具體分析如下:
需要實現(xiàn)的功能:采用udp下的socket編程,當按下確認鍵,模擬器發(fā)送文本框數(shù)據(jù),pc機上的網(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為本機IP,端口為模擬器名稱
希望本文所述對大家的Android程序設(shè)計有所幫助。
相關(guān)文章
Android自定義View的三種實現(xiàn)方式總結(jié)
本篇文章主要介紹了Android自定義View的三種實現(xiàn)方式總結(jié),非常具有實用價值,需要的朋友可以參考下。2017-02-02
android開發(fā)之關(guān)閉所有的activity的方法
本篇文章主要介紹了android開發(fā)之關(guān)閉所有的activity的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-12-12
Android性能優(yōu)化之RecyclerView分頁加載組件功能詳解
這篇文章主要為大家介紹了Android性能優(yōu)化之RecyclerView分頁加載組件功能詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-09-09
Android實現(xiàn)橫向無限循環(huán)滾動的單行彈幕效果
這篇文章主要為大家詳細介紹了Android實現(xiàn)橫向無限循環(huán)滾動的單行彈幕效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-06-06

