package com.android;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import android.app.Activity;
import android.os.Bundle;
import android.os.Message;
import android.text.TextUtils;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class ActivityMain extends Activity {
//发送的消息内容
EditText msgEditText = null;
//显示消息内容
LinedText msgText = null;
//数据报Socket
DatagramSocket socket = null;
//服务器地址
InetAddress address = null;
//连接IP端口号
String ip = "192.168.1.101";
int port = 2345;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final Button sendBtn = (Button)findViewById(R.id.sendBtn);
msgEditText =(EditText)findViewById(R.id.msgEditText);
//ListView显示消息
msgText =(LinedText)findViewById(R.id.msgText);
try{
//实例化一个数据报Socket
socket = new DatagramSocket();
//服务器地址
address = InetAddress.getByName(ip);
}
catch (Exception ex){
ex.printStackTrace(); //输出出错信息
}
//发送消息
sendBtn.setOnClickListener(new OnClickListener(){
public void onClick(View v){
try {
//取得编辑框中我们输入的内容
String msg = msgEditText.getText().toString().trim();
//编码为GB2312发送
byte[] msg_byte = msg.getBytes("GB2312");
//实例化一个数据报
DatagramPacket packet = new DatagramPacket(msg_byte,msg_byte.length,address,port);
//发送报文
socket.send(packet);
msgEditText.setText("");
msgText.append("send:" + msg);
msgText.append("\n");
//接受回应
//缓冲区数组
byte[] buffer = new byte[256];
DatagramPacket receivePacket = new DatagramPacket(buffer,buffer.length,address,port);
socket.receive(receivePacket);
//计算buffer中的有效数据长度
int l = 0;
for(byte b:buffer){
if(b!=0){
l++;
}
}
String receivedMessage = new String(buffer,0,l);
//显示服务器返回信息更新到TextView
msgText.append("received:"+receivedMessage);
msgText.append("\n");
}catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* 返回退出
*/
@Override
public void onBackPressed() {
// TODO Auto-generated method stub
try {
//关闭端口
socket.close();
} catch (Exception e) {
e.printStackTrace();
}
super.onBackPressed();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
AndroidUDP.rar (32个子文件)
11.2UDP
SocketServer
bin
com
java
TCPServer.class 3KB
TCPServer$ServerThread.class 3KB
UDPServer.class 2KB
.settings
org.eclipse.jdt.core.prefs 629B
src
com
java
UDPServer.java 2KB
.project 388B
.classpath 301B
SocketUDP
bin
classes.dex 6KB
SocketUDP.apk 16KB
com
android
R$layout.class 373B
R$id.class 466B
R$drawable.class 379B
R$attr.class 319B
R.class 482B
ActivityMain.class 2KB
LinedText.class 1KB
R$string.class 405B
ActivityMain$1.class 2KB
resources.ap_ 11KB
res
drawable-ldpi
icon.png 2KB
drawable-hdpi
icon.png 4KB
values
strings.xml 151B
drawable-mdpi
icon.png 3KB
layout
main.xml 1KB
assets
default.properties 362B
gen
com
android
R.java 896B
proguard.cfg 1KB
src
com
android
ActivityMain.java 3KB
LinedText.java 986B
.project 845B
.classpath 280B
AndroidManifest.xml 742B
共 32 条
- 1
资源评论
weiyiding2008
- 粉丝: 0
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功