基本信息
源码名称:Android手机与电脑的UDP通讯
源码大小:1.25M
文件格式:.rar
开发语言:Java
更新时间:2017-04-07
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559
本次赞助数额为: 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;
}
}
*/