在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:eoinsha/JavaPhoenixChannels开源软件地址:https://github.com/eoinsha/JavaPhoenixChannels开源编程语言:Java 89.7%开源软件介绍:Phoenix Channel Client for Java and AndroidJavaPhoenixChannels is a Java and Android client library for the Channels API in the Phoenix Framework. Its primary purpose is to ease development of real time messaging apps for Android using an Elixir/Phoenix backend. For more about the Elixir language and the massively scalable and reliable systems you can build with Phoenix, see http://elixir-lang.org and http://www.phoenixframework.org. Including the Library
ExamplesExample Android AppFor a full sample Android chat app, check out the repository at https://github.com/eoinsha/PhoenixChatAndroid The quick examples below are used with the Phoenix Chat Example Example using Groovyimport org.phoenixframework.channels.*
def socket = new Socket('ws://localhost:4000/socket/websocket')
socket.connect()
def chan = socket.chan()
chan.join("rooms:lobby", null)
.receive("ignore", { -> println "IGNORE"})
.receive("ok", { envelope -> println "JOINED with $envelope" })
chan.on('new:msg', { -> println "NEW MESSAGE: $envelope"})
Example using Javaimport org.phoenixframework.channels.*;
Socket socket;
Channel channel;
// To connect with authentication
String authToken = "abc123"
Uri.Builder url = Uri.parse( "ws://localhost:4000/socket/websocket" ).buildUpon();
url.appendQueryParameter( "auth_token", authToken );
socket = new Socket(url.build().toString());
socket.connect();
channel = socket.chan("rooms:lobby", null);
channel.join()
.receive("ignore", new IMessageCallback() {
@Override
public void onMessage(Envelope envelope) {
System.out.println("IGNORE");
}
})
.receive("ok", new IMessageCallback() {
@Override
public void onMessage(Envelope envelope) {
System.out.println("JOINED with " + envelope.toString());
}
});
channel.on("new:msg", new IMessageCallback() {
@Override
public void onMessage(Envelope envelope) {
System.out.println("NEW MESSAGE: " + envelope.toString());
}
});
channel.on(ChannelEvent.CLOSE.getPhxEvent(), new IMessageCallback() {
@Override
public void onMessage(Envelope envelope) {
System.out.println("CLOSED: " + envelope.toString());
}
});
channel.on(ChannelEvent.ERROR.getPhxEvent(), new IMessageCallback() {
@Override
public void onMessage(Envelope envelope) {
System.out.println("ERROR: " + envelope.toString());
}
});
//Sending a message. This library uses Jackson for JSON serialization
ObjectNode node = new ObjectNode(JsonNodeFactory.instance)
.put("user", "my_username")
.put("body", message);
channel.push("new:msg", node); ContributingTo contribute, see the contribution guidelines and instructions. |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论