Android UDP
【摘要】
package com.chy.socket; import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.SocketException; import com.chy.global.G...
package com.chy.socket;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
import com.chy.global.GlobalValue;
public class UdpClient {
private boolean isStop = false;
private DatagramSocket datagramSocket = null;
private onReceiveListener onReceiveListener = null;
private ReadThread readThread = null;
public interface onReceiveListener {
public void onReceive(DatagramPacket packet);
}
class ReadThread extends Thread {
@Override
public void run() {
byte[] buffer = new byte[GlobalValue.READ_BLOCK_SIZE];
DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
while (!isStop && !isInterrupted()) {
try {
datagramSocket.receive(packet);
if (onReceiveListener != null) {
onReceiveListener.onReceive(packet);
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
}
public UdpClient(int port, onReceiveListener onReceiveListener) {
try {
datagramSocket = new DatagramSocket(port);
} catch (SocketException ex) {
ex.printStackTrace();
}
if (datagramSocket == null) {
return;
}
this.onReceiveListener = onReceiveListener;
readThread = new ReadThread();
readThread.start();
}
public synchronized boolean send(byte[] buffer) {
boolean result = false;
if(datagramSocket != null) {
DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
try {
datagramSocket.send(packet);
result = true;
} catch (IOException ex) {
ex.printStackTrace();
}
}
return result;
}
public void close() {
isStop = true;
if(readThread != null && !readThread.isInterrupted()) {
readThread.interrupt();
readThread = null;
}
if (datagramSocket != null) {
datagramSocket.close();
}
}
}
文章来源: blog.csdn.net,作者:福州-司马懿,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/chy555chy/article/details/51560186
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)