今日の天鳳.1
オンライン麻雀でのあれこれ。
やっとこさ上卓で打ち始めたところ。
R1499で二段、まあ初心者だし多少はね?
伸び悩むのも嫌なので何か書く。
本日は2戦。
一戦目
牌符:http://tenhou.net/0/?log=2016022500gm-0089-0000-f5a1118c&tw=1
ファイヤロー。
東4局とかのリーチとか、南3の嶺上ドラドラ投げ捨てとかなるべくしてなってる感。
二戦目
牌符:http://tenhou.net/0/?log=2016022500gm-0089-0000-e03977d1&tw=2
ぎりセーフな感じ。ことごとくチャンスがつぶれて行ってる。運なのか牌理の結果なのか。
南1とかなんなん?って言いながら打ってた。
おわり
麻雀って楽しいよね!(血涙)
JavaのSocketを使ったストリームとかで躓いたところ
Javaアプリケーションで遊んでた時に躓いたメモ。自分の備忘録的なあれ。
とりあえずサーバーから投げたものをクライアントが受け取れるかやったら躓いた。
構成
サーバー⇔クライアントでsocketを使って通信。Serializableなクラスを投げあう形。
サーバー側
ObjectOutputStreamでオブジェクトを投げる。
//InfomationBase:Serializableなクラス public void send(InfomationBase _info){ try{ writer = new ObjectOutputStream(socket.getOutputStream()); writer.writeObject(_info); } catch (IOException e) { System.err.println("サーバサイド送信エラー"); e.printStackTrace(); } }
クライアント側
ObjectInputStreamでオブジェクトを投げる。
public void run() { try { reader = new ObjectInputStream(socket.getInputStream()); InfomationBase message = (InfomationBase) reader.readObject(); output.setInfomation(message);//output:表示機的なクラス } catch (ClassNotFoundException e) { System.err.println("送られてきたオブジェクトがInfomationBaseではありません"); e.printStackTrace(); } catch (IOException e) { System.err.println("クライアント受信エラー"); e.printStackTrace(); } finally{ try{ reader.close(); } catch(IOException e){ System.err.println("受信ストリームクローズできません"); e.printStackTrace(); } } }
おきたこと
java.net.SocketException : Connection resetってクライアント側で言われた。
解決
エラーの意味そのまんま。
http://software.fujitsu.com/jp/manual/manualfiles/M050000/B1WN5031/03/msg43/msg09893.htm
OutputStreamを開いたままサーバー側のプログラムが終了しているのが問題だった。
ちゃんと送った後に閉じるorプログラムが終了しないのどちらかすると問題なく動いた。
将来的にはサーバーとクライアントでずっと通信するしサーバーから通信切ることはないので大丈夫そうかな?
今回のオチ
つくりたてでpostないの嫌だったし、多少はね?
the first post
どっかのだれかの雑日記はじめました
適当に日々あったこと書きます