«前の日記(2016-01-01) 最新 次の日記(2016-01-03)» 編集

ToDo:

  • 99 深呼吸して、おちけつ (~12/31 あと9日)
  • 98 毎日アウトプットを重きにおいた目標をたてる (~12/31 あと9日)
  • 97 買物は行動を変えるもの・ことに限る (~12/31 あと9日)
  • 96 合理的な行動はときに我慢を強いる(~12/31 あと9日)

ɥozɐʞıɥ


2016-01-02 Day8 [長年日記]

_ [モフ太] 朝散歩

モフ太散歩
モフ太散歩 posted by (C)ひかぞぉ

今日も良い天気です。

良い天気です
良い天気です posted by (C)ひかぞぉ

_ [JavaEE][Java][WebSocket][JavaScript] WebSocketとJavaEE7

サンプルサイトをまねてみた。Java側だけはStreamを使ってみました。簡単にできちゃう。こりゃいい。

参考NetBeansとGlassFishを使ってJavaEE7のWebSocketを遊ぶ。あとAWSでデプロイとか。 - Yuji Blog

参考WebSocketをネタにJava EE 7正式版を試してみる - きしだのはてな

Java側

import java.util.Collections;

import java.util.HashSet;

import java.util.Set;

import javax.websocket.OnClose;

import javax.websocket.OnMessage;

import javax.websocket.OnOpen;

import javax.websocket.Session;

import javax.websocket.server.ServerEndpoint;

/**

*

* @author hikazoh

*/

@ServerEndpoint("/endpoint")

public class NewWSEndpoint {

static Set<Session> sessions = Collections.synchronizedSet(new HashSet<Session>());

@OnMessage

public void onMessage(String message) {

sessions.stream().forEach((Session s) -> s.getAsyncRemote().sendText(message));

}

@OnOpen

public void onOpen(Session s) {

sessions.add(s);

}

@OnClose

public void onClose(Session s) {

sessions.remove(s);

}

}

Client側

<?xml version='1.0' encoding='UTF-8' ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"

xmlns:h="http://xmlns.jcp.org/jsf/html">

<h:head>

<title>Facelet Title</title>

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>

<script type="text/javascript">

var socket;

$(document).ready(function(){

var host="ws://localhost:8080/WebSocketSample/endpoint";

socket = new WebSocket(host);

socket.onmessage = function(message){

$('#log').append(message.data + "<br />");

};

$('#send').click(function(){

var text = $('#msg').val();

socket.send(text);

$('#msg').val('');

});

});

</script>

</h:head>

<h:body>

Hello from Facelets

<div id="log"></div>

<input id="msg" type="text" />

<button id="send">送信</button>

</h:body>

</html>



2002|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|
«前の日記(2016-01-01) 最新 次の日記(2016-01-03)» 編集