« 夢破れて山河在り | メイン | 頭の弱さはいかんともし難い。 »

2005年06月29日

JAVAばっかりやっていると脳が退化してしまいそう(なくらい色々便利な機能が揃っている)

■リベンジへ

自分の技術力が無いのは重々承知していますが、
情熱でも京大生に負けるという事は非常に悔しかったです。
何をやっても京大生のような人種には勝てないのか、と考えると物凄くやってられなくなるので、とにかく進むしか無いわけです。

#京大に限らず国立大学生の人は……って、負け犬根性丸出しじゃないですか自分。しっかりしないと。

■ネットゲーム

http://www.4gamer.net/weekly/guildwars/001/guildwars_001.shtml

噂のギルドウォーズ。
これだけ読むと設計思想はUXOにかなり近い気がする。
はい、未だにUXOに幻想を持っています。くそぅ、惜しいゲームを亡くしたなあ。
読んでるととてもやりたくなってくる。

参考:http://www.guildwars-onsen.com/core/index.html

■java.net.*

頭が弱いのでメモっとかないと後で困るんです。

■まずはアドレスを取得する所から。

使い方は
InetAddress is = InetAddress.getByName("foo.com");
InetAddress iss[] = InetAddress.getAllByName("foo.com");
後者は一つのホストに複数のアドレスが割り当てられている場合。
コンストラクタは無いみたい

InetAddress
static InetAddress getByName(String hostName) throws UnknownHostException
static InetAddress[] getAllByName(String hostName) throws UnknownHostException
static InetAddress getLocalHost() throws UnknownHostException

byte[] getAddress()
String getHostAddress()
String getHostName()

■続いてサーバーの準備

単純なプログラムで単に接続するだけなら使うメソッドはこの二つだけ。
acceptのイメージはkbhit。

ServerSocket(int port)

Socket accept()
void close()

■ソケットを開く

サーバ側ではacceptメソッドの戻り値で取得
使い終わったらcloseを忘れずに

ネットワーク越しの通信は色々な状況を想定しなければいけない為、
沢山のメソッドが用意されていますが、単に接続してデータをやり取りするだけならこのメソッドをとにかく。
ストリーム関連の理解は必須。

Socket(String host, int port)

void cloes()
OutputStream getOutputStream()
InputStream getInputStream()

■UDP

DatagramPacketはUDPにおいてデータを受信する場合にも送信する場合にも基本となるクラス。
これのインスタンス内に送受信するデータをカプセル化。
前者は受信用、後者は送信用。

DatagramPacket(byte buffer[],int size)
DatagramPacket(byte buffer[],int size,InetAddress ia,int port)

void setData(byte[] buf)
void setPort(int port)
byte[] getData()

DatagramSocketは送受信の窓口。
DatagramPacketをセットして送受信を依頼する。

DatagramSocket(int port)

void close()
void receive(DatagramPacket p)
void send(DatagramPacket p)

■URL

基本的にURLを指定して入力ストリームを開き、取り込むだけ。
ただし、文字コードの違いなどもあるので入手したデータが文字化けしていたとか普通に。

URL(String urlString) throws MalformedURLException
URL(String protocol, String host, int port, String file) throws MalformedURLException

InputStream openStream() throws IOException

投稿者 miff : 2005年06月29日 01:31

コメント

|v・;)宇宙言語がっ!オデの判らない宇宙言語がっ!!

まぁ企業が求めてるのは情熱より人柄や即戦力だったりしますし
ニーズにあったスタンスで行かないと世渡り上手く行かないのも事実ですからねぇ
もちろん情熱優先で採用してるところもあるでしょうしー。

|v=)まぁ大丈夫っすよ
10年後とか考えれば普通に成功してると思うョ
オデみたいな人生綱渡りと違うんだしw

投稿者 |v・)じー : 2005年06月29日 11:03

だといいのですが。
とりあえず、今焦っているのはこのままでは大学生の間に有意義な経験を何も積まないまま終わってしまいそうな事です。
どこにも当たらなかった場合は自力で何かをするしかないですね。

投稿者 miff : 2005年06月29日 22:14

>GuildWars
なんか面白そう!
俺もUXOが突如としてなくなって・・・(´・ω・`)

投稿者 夜 : 2005年06月30日 03:13

面白そうだよね。
かなりやりたいなー。
時間があればなあ。

UXOは……UXOは……。

投稿者 miff : 2005年07月03日 00:14



XREAAD