基本信息
源码名称:Android手机与电脑的UDP通讯
源码大小:1.25M
文件格式:.rar
开发语言:Java
更新时间:2017-04-07
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
本项目是一个测试安卓和电脑UDP通讯的例子源码
本项目是一个测试安卓和电脑UDP通讯的例子源码
package com.example.jstarudp; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import android.os.Bundle; import android.os.Message; import android.app.Activity; import android.view.Menu; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.os.Handler; public class MainActivity extends Activity implements android.view.View.OnClickListener { public static final String SERVERIP = "192.168.1.2"; public static final int SERVERPORT = 9088; public TextView text1; public EditText input; public Button btn; //public boolean start; public Handler MyHandler; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); text1 = (TextView) findViewById(R.id.textView1); input = (EditText) findViewById(R.id.editText1); btn = (Button) findViewById(R.id.button1); btn.setOnClickListener(this); //new Thread(new Server()).start(); /* start = false; new Thread(new Server()).start(); try { Thread.sleep(500); } catch (InterruptedException e) { } new Thread(new Client()).start(); */ MyHandler = new Handler() { @Override public void handleMessage(Message msg) { String text = (String) msg.obj; text1.append(text); } }; } public class Client implements Runnable { @Override public void run() { /* while (start == false) {} try { Thread.sleep(500); } catch (InterruptedException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } */ try { InetAddress serverAddr = InetAddress.getByName(SERVERIP); updatetrack("Client: Start connecting\n"); DatagramSocket socket = new DatagramSocket(4444); byte[] buf; if (!input.getText().toString().isEmpty()) { buf = input.getText().toString().getBytes(); } else { buf = ("Default message").getBytes(); } DatagramPacket packet = new DatagramPacket(buf, buf.length, serverAddr, SERVERPORT); updatetrack("Client: Sending ‘" new String(buf) "’\n"); socket.send(packet); updatetrack("Client: Message sent\n"); updatetrack("Client: Succeed!\n"); byte[] recbuf = new byte[255]; DatagramPacket recpacket = new DatagramPacket(recbuf, recbuf.length); updatetrack("Server: Receiving\n"); Thread.sleep(500); socket.setSoTimeout(5); socket.receive(recpacket); updatetrack("Server: Message received: ‘" new String(recpacket.getData()) "’\n"); updatetrack("Server: Succeed!\n"); socket.close(); } catch (Exception e) { updatetrack("Client: Error!\n"); updatetrack(e.getMessage()); } } } public class Server implements Runnable { @Override public void run() { //while (start == false) {} while (true) { try { updatetrack("Server: Start connecting\n"); DatagramSocket socket = new DatagramSocket(5555); byte[] buf = new byte[255]; DatagramPacket packet = new DatagramPacket(buf, buf.length); updatetrack("Server: Receiving\n"); socket.receive(packet); updatetrack("Server: Message received: ‘" new String(packet.getData()) "’\n"); updatetrack("Server: Succeed!\n"); socket.close(); } catch (Exception e) { updatetrack("Server: Error!\n"); updatetrack(e.getMessage()); } } } } public void updatetrack(String s) { Message msg = new Message(); String textTochange = s; msg.obj = textTochange; MyHandler.sendMessage(msg); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.activity_main, menu); return true; } @Override public void onClick(View v) { // TODO Auto-generated method stub if(v.getId()==R.id.button1) { //start = true; new Thread(new Client()).start(); } } } /* import android.os.Bundle; import android.app.Activity; import android.view.Menu; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.activity_main, menu); return true; } } */