java编写广播代码 java实现广播

怎么在java类里面发送广播,跪求大神指点

可以通过jms消息通知实现。

创新互联建站专注于海口企业网站建设,响应式网站开发,商城网站制作。海口网站建设公司,为海口等地区提供建站服务。全流程按需开发网站,专业设计,全程项目跟踪,创新互联建站专业和态度为您提供的服务

建议采用spring的Jmstemplate来实现,spring对jms做了很好的封装,使用起来非常方便,网上也有很多相关资料供查找学习。

java如何广播

这个 ,,你可以采用 这样一种方式, net包中 有相关的API先发送一个请求 到 目的设备, 然后 判断是否有回馈信息,,也就是 true or false‘如果有 的话 , 那么可以认为它是在线的。反之 不是

java socket,我有客户端和服务器的代码,帮我添加广播和能多人会话,加分!!代码如下

根据你的改了个!不好意思,其中读写的思路稍微有点不同!不过可以做参考!

Server端代码:

import java点虐 .*;

import java.io.*;

import java.util.*;

public class TestServer {

ServerSocket s = null;

boolean started = false;//用来监听服务器是否启动!

ListServerReaderWriter clients = new ArrayListServerReaderWriter();//用来存放启动的客服端

public static void main(String[] args) {

new TestServer().start();

}

public void start() {

try {

s = new ServerSocket(5050);

started = true;

} catch(SocketException e) {

System.out.println("5050端口正在使用中!!!请关掉相关程序并重新运行服务器!");

System.exit(0);

} catch (IOException e) {

e.printStackTrace();

}

int i = 1;

try {

while(started) {

Socket ss = s.accept();

ServerReaderWriter c = new ServerReaderWriter(ss);//建立客服端

System.out.println("第" + i + "个客服端启动!");

++i;

new Thread(c).start();//启动线程

clients.add(c);

}

} catch (EOFException e) {

System.out.println("客服端被关闭!");

} catch (IOException e) {

e.printStackTrace();

} finally {

try {

s.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

class ServerReaderWriter implements Runnable { //建议使用Runnable避免你重写run方法麻烦!

private Socket s;

private DataInputStream dis = null;//注意赋值,养成好习惯!

private DataOutputStream dos = null;

private boolean bConnected = false;//用于调用连接成功后的run方法

public ServerReaderWriter(Socket s) {

this.s = s;

try {

dis = new DataInputStream(s.getInputStream());

dos = new DataOutputStream(s.getOutputStream());

bConnected = true;

} catch (IOException e) {

e.printStackTrace();

}

}

public void send(String str) {

try {

dos.writeUTF(str);

} catch (IOException e) {

clients.remove(this);

System.out.println("有客户退出!");

}

}

public void run() {

try {

while (bConnected) {

String input = dis.readUTF();

System.out.println(input);

for(int i=0; iclients.size(); ++i) {

ServerReaderWriter c = clients.get(i);

c.send(input);

}

}

} catch(SocketException e) {

System.out.println("一个客服端已关闭,请勿再像他发送信息!");

} catch (EOFException e) {

System.out.println("谢谢使用!");

}catch (IOException e) {

e.printStackTrace();

} finally {

try {

if (dis != null) {

dis.close();

}

if (dos != null) {

dos.close();

}

if (s != null) {

s.close();

s = null;

}

//clients.clear();

} catch (IOException e1) {

e1.printStackTrace();

}

}

}

}

}

Client端代码:

import java.io.*;

import java点虐 .*;

import java.awt.*;

import java.awt.event.*;

public class TestClient extends Frame { //用到Frame生产界面比较直观

Socket s = null;

DataOutputStream dos = null;

DataInputStream dis = null;

private boolean bConnected = false;

TextField tfText = new TextField();

TextArea taContent = new TextArea();

Thread tRecv = new Thread(new ClientReaderWriter());

public static void main(String[] args){

new TestClient().launchFrame();

}

public void launchFrame() {

this.setSize(300, 300); //设置客服端窗口格式

this.setLocation(400, 300);

add(tfText, BorderLayout.SOUTH);

add(taContent, BorderLayout.NORTH);

this.pack();

this.addWindowListener(new WindowAdapter() { //监听窗口关闭事件

public void windowClosing(WindowEvent arg0) {

disconnect();

System.exit(0);

}

});

tfText.addActionListener(new TFListener());

setVisible(true);

connect();

tRecv.start();

}

public void connect() {

try {

s = new Socket("127.0.0.1", 5050); //依据自己的服务器,我这里用的localhost

dos = new DataOutputStream(s.getOutputStream());

dis = new DataInputStream(s.getInputStream());

System.out.println("连接服务器!");

bConnected = true;

} catch(ConnectException e) {

System.out.println("请检查服务器是否启动!");

try {

Thread.sleep(1000);

} catch (InterruptedException e1) {

e1.printStackTrace();

}

System.exit(0);

}

catch (UnknownHostException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

public void disconnect() {

try {

dos.close();

dis.close();

s.close();

} catch (IOException e) {

e.printStackTrace();

}

}

private class TFListener implements ActionListener {

public void actionPerformed(ActionEvent e) {

String str = tfText.getText().trim();

tfText.setText("");

try {

dos.writeUTF(str);

if(str.equals("bye")){

System.exit(0);

}

dos.flush();

} catch (IOException e1) {

e1.printStackTrace();

}

}

}

class ClientReaderWriter implements Runnable {

public void run() {

try {

while(bConnected) {

String input = dis.readUTF();

taContent.setText(taContent.getText() + input +'\n');

}

} catch (SocketException e) {

System.out.println("轻轻的我走了!Bye-bye!");

} catch (EOFException e) {

System.out.println("我断网了,再见!");

}

catch (IOException e) {

e.printStackTrace();

}

}

}

}

java里怎么发广播呀

java里怎么发广播

public void onReceive(Context context,Intent intent){

Intent intent = new Intent(context,XxxService.class);

context.startService(intent);

}

Intent intent = new Intent();

intent.setAction("...");

Context.sendBroadcast(intent);

标题名称:java编写广播代码 java实现广播
新闻来源:https://www.cdcxhl.com/article40/ddeopho.html

成都网站建设公司_创新互联,为您提供自适应网站移动网站建设网站策划网站内链动态网站软件开发

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

h5响应式网站建设