import lib時,路徑為何?
如圖.
2016年11月24日 星期四
2016年11月9日 星期三
WebSocket 教學 範例 - JAVA Tomcat8 Eclipse
WebSocket 教學 範例 - JAVA Tomcat8 Eclipse
●環境
IDE:Eclipse Mars, Container:GlassFish 4, Language:Java,
●Note
ws server及client端的port,Web Server的port,三者需一致.
●範例解說
Web端(Client)載入頁面時,與Server建立WebSocket連線,發送訊息給Server.
Server接收訊息後印出Client所發送之訊息,並發送訊息給Client,Client接收後印出.
●Code
Client Code如下:
Server Code如下:
載入後:
按下按鈕,
●環境
IDE:Eclipse Mars, Container:GlassFish 4, Language:Java,
●Note
ws server及client端的port,Web Server的port,三者需一致.
●範例解說
Web端(Client)載入頁面時,與Server建立WebSocket連線,發送訊息給Server.
Server接收訊息後印出Client所發送之訊息,並發送訊息給Client,Client接收後印出.
●Code
Client Code如下:
<!DOCTYPE html>
<html>
<!-- 測試Websocket,載入頁面後,便自動建立Websocket連線,按下start按鈕,發送訊息給server,server再回應. -->
<head>
<title>Testing websockets</title>
</head>
<body>
<!-- 發送訊息的按鈕 -->
<div>
<input type="submit" value="Start" onclick="start()" />
</div>
<!-- 接收訊息後,在此印出 -->
<div id="messages">
</div>
<!-- 建立websocket連線 -->
<script type="text/javascript">
var webSocket =
new WebSocket('ws://127.0.0.1:8081/websocket/echo');//ServerEndpoint監聽的URL.
webSocket.onerror = function(event) {
onError(event)
};
webSocket.onopen = function(event) {
onOpen(event)
};
webSocket.onmessage = function(event) {
onMessage(event)
};
// 接收到server訊息時觸發.
function onMessage(event) {
document.getElementById('messages').innerHTML
+= '<br />' + event.data;
}
// 建立與server的連接.
function onOpen(event) {
document.getElementById('messages').innerHTML
= 'Connection established';
}
// 連線錯誤時觸發
function onError(event) {
alert(event.data);
}
// 按下按鈕後觸發,發送訊息給server
function start() {
webSocket.send('hello');
return false;
}
</script>
</body>
</html>
Server Code如下:
package websocket;
import java.io.IOException;
import javax.websocket.OnClose;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.ServerEndpoint;
@ServerEndpoint("/echo")//監聽client連接的URL.
public class WebSocketTest {
//收到client訊息便執行此方法.
//印出client所發送的訊息,傳送訊息給client.
@OnMessage
public void onMessage(String message, Session session)
throws IOException, InterruptedException {
System.out.println("Received: " + message);
session.getBasicRemote().sendText("Server has been received message.");
int sentMessages = 1;
while(sentMessages < 4){
Thread.sleep(1000);
session.getBasicRemote().
sendText("Server is counting 1 to 3. Count: "
+ sentMessages);
sentMessages++;
}
session.getBasicRemote().sendText("End");
}
@OnOpen//client開啟連接.
public void onOpen() {
System.out.println("Client connected");
}
@OnClose//client關閉連接.
public void onClose() {
System.out.println("Connection closed");
}
}
●執行載入後:
按下按鈕,
2016年10月21日 星期五
WebSocket 教學 範例 - JAVA GlassFish4 Eclipse
WebSocket 教學 範例 - JAVA GlassFish4 Eclipse
●環境
IDE:Eclipse Mars, Container:GlassFish 4, Language:Java,
●說明
Web端(Client)載入頁面時,與Server建立WebSocket連線,發送訊息給Server.
Server接收訊息後印出Client所發送之訊息,並發送訊息給Client,Client接收後印出.
●Code
Client Code如下:
Server Code如下:
載入後:
按下按鈕,
●環境
IDE:Eclipse Mars, Container:GlassFish 4, Language:Java,
●說明
Web端(Client)載入頁面時,與Server建立WebSocket連線,發送訊息給Server.
Server接收訊息後印出Client所發送之訊息,並發送訊息給Client,Client接收後印出.
●Code
Client Code如下:
<!DOCTYPE html>
<html>
<!-- 測試Websocket,載入頁面後,便自動建立Websocket連線,按下start按鈕,發送訊息給server,server再回應. -->
<head>
<title>Testing websockets</title>
</head>
<body>
<!-- 發送訊息的按鈕 -->
<div>
<input type="submit" value="Start" onclick="start()" />
</div>
<!-- 接收訊息後,在此印出 -->
<div id="messages">
</div>
<!-- 建立websocket連線 -->
<script type="text/javascript">
var webSocket =
new WebSocket('ws://127.0.0.1:8081/websocket/echo');//ServerEndpoint監聽的URL.
webSocket.onerror = function(event) {
onError(event)
};
webSocket.onopen = function(event) {
onOpen(event)
};
webSocket.onmessage = function(event) {
onMessage(event)
};
// 接收到server訊息時觸發.
function onMessage(event) {
document.getElementById('messages').innerHTML
+= '<br />' + event.data;
}
// 建立與server的連接.
function onOpen(event) {
document.getElementById('messages').innerHTML
= 'Connection established';
}
// 連線錯誤時觸發
function onError(event) {
alert(event.data);
}
// 按下按鈕後觸發,發送訊息給server
function start() {
webSocket.send('hello');
return false;
}
</script>
</body>
</html>
Server Code如下:
package websocket;
import java.io.IOException;
import javax.websocket.OnClose;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.ServerEndpoint;
@ServerEndpoint("/echo")//監聽client連接的URL.
public class WebSocketTest {
//收到client訊息便執行此方法.
//印出client所發送的訊息,傳送訊息給client.
@OnMessage
public void onMessage(String message, Session session)
throws IOException, InterruptedException {
System.out.println("Received: " + message);
session.getBasicRemote().sendText("Server has been received message.");
int sentMessages = 1;
while(sentMessages < 4){
Thread.sleep(1000);
session.getBasicRemote().
sendText("Server is counting 1 to 3. Count: "
+ sentMessages);
sentMessages++;
}
session.getBasicRemote().sendText("End");
}
@OnOpen//client開啟連接.
public void onOpen() {
System.out.println("Client connected");
}
@OnClose//client關閉連接.
public void onClose() {
System.out.println("Connection closed");
}
}
●執行載入後:
按下按鈕,
2016年10月13日 星期四
在Eclipse執行Tomcat做為Web Server,以URL連結web,設定方式.
2016年8月8日 星期一
MQTT windows mosquitto
●所需程式
mosquitto,openssl,libeay32.dll,pthreadVC2.dll
●安裝
安裝mosquitto
>安裝openssl
>至openssl安裝路徑複製libeay32.dll至mosquitto安裝路徑
>複製pthreadVC2.dll至mosquitto安裝路徑
mosquitto,openssl,libeay32.dll,pthreadVC2.dll
●安裝
安裝mosquitto
>安裝openssl
>至openssl安裝路徑複製libeay32.dll至mosquitto安裝路徑
>複製pthreadVC2.dll至mosquitto安裝路徑
●開啟MQTT Broker , Publisher , Subscriber
開啟
>開啟CMD,切換至mosquitto路徑 指令cd 路徑
>開啟Broker 指令mosquitto.exe -v
>開啟Publisher,
指令mosquitto_pub.exe -h localhost位址 -t topic名稱 -m 欲發送訊息
開啟
>開啟CMD,切換至mosquitto路徑 指令cd 路徑
>開啟Broker 指令mosquitto.exe -v
>開啟Publisher,
指令mosquitto_pub.exe -h localhost位址 -t topic名稱 -m 欲發送訊息
>開啟Subscriber並訂閱Topic,
指令mosquitto_sub.exe -h localhost位址 -t topic名稱
指令mosquitto_sub.exe -h localhost位址 -t topic名稱
訂閱:
意見 (Atom)


