このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1267796762/955
#  【 課題 】ネットワークを使用したプログラムを作成  
#  【 形態 】Javaアプリケーション(main()で開始)  
#  【 GUI  】 制限なし 
#  【 期限 】2月12日  
#  【 Ver  】java version "1.5.0_26"  
#  【 補足 】サーバーを作り、そこにtelnetで接続してというプログラムです。例として、英単語に対応する日本語もったサーバを作り、クライアントから送られてきた単語に対応する日本語を送り出すものです。 
#  ほかに、チャットサーバーをつくり、接続済みのクライアント全てにデータを流すというものなどです。 
#  母さんが倒れて課題をやる暇がなくて卑怯だとおもう...でも間に合いそうにない;どうか、手を貸していただきたい。 
#  もしできあがられましたら、deal_of_deal.yahoo.co.jpのほうへプログラムを書いて送ってくださいorz 
# 
# 

英和辞典(eat,動詞,[食べる]).
英和辞典(room,名詞,[部屋,余地]).

英和辞典サーバ(_ポート番号) :-
        'TCP/IPサーバ開設'(_ポート番号,Socket,Socket2,Input,Output),
        repeat,
        command_prompt,
        socket_raw_receive(NewSocket,4096,_,L,Length),
        append(L0,[13,10|_],L),
        atom_codes(_英単語,L0),
        英単語に対応する日本語を返す(Output,_英単語),
        _英単語 = exit,
        'TCP/IPサーバ閉鎖'(Socket,Socket2,Input,Output),!.

command_prompt(Output) :-
        write(Output,'英単語をいれてください : '),
        flush_output(Output),!.

英単語に対応する日本語を返す(Output,exit) :- !.
英単語に対応する日本語を返す(Output,_英単語) :-
        英和辞典(_英単語,_,_日本語ならび),
        append(_,[_日本語|R],_日本語ならび),
        write_formatted(Output,'%t\n',[_日本語]),
        flush_output(Output),
        R = [],!.

'TCP/IPサーバ開設'(Port,Socket,Socket2,Input,Output) :-
        socket(internet,stream,Socket),
        socket_bind(Socket,Port),
        repeat,
        socket_listen(Socket,1000000),
        socket_accept(Socket,Host : Port2,NewSocket),
        open(NewSocket,read,Input),
        open(NewSocket,write,Output).

'TCP/IPサーバ閉鎖'(Socket,Socket2,Input,Output) :-
        close(Output),
        close(Input),
        socket_shutdown(NewSocket),
        socket_shutdown(Socket).