必要があって java でのソケットプログラミングについて調べたのですが、C で書くのと比べると ものすごく簡単にプログラミングできてしまいます。おまけに java はクラスライブラリが充実しているので、 取得したバイト列の扱いもものすごく楽に行えます。もう、C ではめんどうくさくてプログラミングできないかもしれないと 思ってしまったくらいです。 コード量が少ないので、ソースを読んでもらった方が早いのですが、簡単に説明させていただきます。 なお、以下の説明は Java 2 SDK, Standard Edition version 1.4.0(以下 JDK 1.4) の環境で行っています。 ソケットプログラミングに必要なクラス サーバ側ソケットは java.net.ServerSocket を使います。コンストラクタの形式は色々とあるようですが、 以下ではポート番号のみを指定するコンスト
Sockets プログラミングを Java で行う方法について記述します。ここでは、TCP を用いたプログラミング方法を記述します。 Sockets に関するクラスは、java.net パッケージに含まれています。 ソケットをオープンする方法 クライアントプログラムを作成する場合: Socket MyClient; MyClient = new Socket("HostName", PortNumber); "HostName"は、接続を開始しようとしているサーバー名を指定し、PortNumber は、 そのサーバーのどのポート番号を利用するかを指定します。ポート番号を選択する場合、 特権ユーザー(スーパーユーザーまたはルート)のために 0から 1,023のポート番号が予約されています。 これらのポート番号は、電子メール、FTPおよびHTTPのような標準サービスのためのものです。 もし、自
JavaでSOCKETやURLConnectionを使った簡単なプログラムを参考に、Javaのネットワークプログラミングについて解説します。 Javaでブラウズ JavaのSOCKET機能を使って、Webサーバのソースデータを取得するサンプルソースです。 指定したURLのHTTPヘッダとHTMLソースを表示します。 PerlでブラウズのJava言語版です。 正規表現を利用するため、OROパッケージが必要です。 SOCKET機能は、java.net.*にありますので、java.net.*をimportします。 また、SOCKETデータは、ストリームとして扱うため、java.io.*もimportします。 データ転送の効率を考えて、BufferReader, BufferWriterを使っています。 Socketオブジェクトを作成し、入出力バッファを関係付けます。 HTTPプロトコルに基づいて
新着記事一覧 OKI データ、植林活動による環境保護とカーボンオフセットをタイで実施 [14:42 9/30] TVアニメ『恋姫†無双』、待望のDVD第一巻登場! 特典は立体マウスパッド!! [14:29 9/30] 質問そのものに投票? 20%ルールから新サービスGoogle Moderator登場 [14:18 9/30] Google Chromeマルチプロセスの功罪、メモリ使用編 [14:10 9/30] HTML 4.01の正しい記述方法、最小構成編 [14:01 9/30] 【コラム】恋する家電 第3回 毎日一緒に過ごしたくなるカメラ、リコー「R10」 [14:00 9/30] 世界的に有名な"福田産コーデュロイ"のオリジナル服を発売 - 東武百貨店 [13:21 9/30] 【インタビュー】蜷川幸雄監督、吉高由里子主演の『蛇にピアス』を原作者・金原ひとみが語る
ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も) 今回の「Javaの入出力」シリーズは、ソケット間通信。 といっても、ソケットには、サーバーとクライアントがあるので、まずは、クライアント側からやります。サーバーを作っても、クライアントがいないと、悲しいものがあるので(^^;) で、クライアントなんですが、HTTPプロトコルを、YAHOO(www.yahoo.co.jp)のポート80番に対して送ります。ってことは、HTTP通信してるのと同じなんですけど、まあ、ソケットの実験ということで、そうします。 ソケット間通信についても、すでに、ここに一般的な場合について書いてあるのですが、せっかく、出力について、ここでまとめているので、今回は、その考え方にのっとり、 InputStreamReader(InputStream) Output
ここでは、Linuxを使ったネットワークプログラミングの説明を行いたいと思います。 ここで対象としている読者は、ネットワークプログラミング初心者(もしくは入門者)かつLinux環境でプログラミングを行いたい人です。 開発環境としては、C言語+gccを想定しています。 説明内容は主にソケットプログラミングになります。 なお、C言語そのものが初めての方は「C言語入門」も参考にどうぞ。Windows専用には書いてませんが主にC言語で共通の部分を解説しています。 コードを書く前の準備 まず、gccを使える状態にしないといけません。 ディストリビューションにもよりますが、Linuxを普通にインストールしただけでは開発環境は入りません。 開発環境を用意するためには、gccやglibcなどのrpmを必要に応じてインストールしてください。 次に、エディタが必要になります。 mule、emacs、xemac
ここでは、WinSockを使ったWindowsネットワークプログラミングの説明を行いたいと思います。 ここで対象としている読者は、ネットワークプログラミング初心者(もしくは入門者)かつWindows環境でプログラミングを行いたい人です。 WinSockという名称は、Windows Socketsから来ています。 名前の通り、Winsockはウィンドウズでソケットを使ってプログラムを書くためのAPI(Application Program Interface)です。 Winsockを使うと、TCP/IPなどインターネットを使って通信を行うプログラムが書けます。 ここで説明を行うwinsockのバージョンは2.0です。 ただし、大枠に関してはversion 1.0と2.0で同じ部分もあるので1.0を利用する方でも参考にはなると思います。 Winsockが対応するWindowsのバージョンとして
/// C,C++での実装 SOCKET ListenSocket; struct addrinfo me; ZeroMemory(&me, sizeof(me)); // 構造体をゼロクリア me.ai_family = AF_INET; // IPv4プロトコルを指定 me.ai_socktype = SOCK_STREAM; // ソケットを作成 ListenSocket = socket(hints.ai_family, hints.ai_socktype, 0); /// C,C++での実装 // 作成したソケットと、ソケットアドレス情報 me をバイント // ホスト名から自動的にIPを設定する場合 addrinfo *res; char hostname[256]; char service[8]; unsigned short port = 10000; sprintf(s
Geocitiesの館 メインフロア ■Solaris管理室 ・10 インストール x86版 x86版 (Express) ・8 インストール SPARC版 x86版 ・コマンド一覧 ・設定 ・Sendmailの設定 ・再設定 ・ファイルシステム ・Tips ・ns2 インストール ・Gnome インストール ■写真展示室 ・イタリア ・ローマ ・バチカン美術館 ・サンピエトロ寺院 サンピエトロ広場 ・フィレンツェ ・プロフィール Niftyの館 メインフロア ■開発室 ■Visual Studio ・Shira.DLL ・AES暗号化ツール ・ICMPツール ■C/C++ ・RAWソケット ■Java ・Byte Code Format ・FileUpload ・FileUpload(Old) ・NCL&CCM
さて前回に続き、「自力でsyn scan」に挑戦します。こっそり敷居を下げるため、さりげなくタイトルが変わっていますけれど。 ちなみにsyn scanとは、「相手からのsyn+ackを受け取った時点で、ackを送らずrstを送り、3way handshakeを中断する」というポートスキャンの一種です。3way handshakeが成功していないので、接続が確立しておらず、ログに残らない、というメリット(誰の?)があるようです。 こういった少し怪しげな技術の是非はそっちのけで、自らのネタを完結させるべく話を進めます。 さて、「syn scanができました」というためには、「syn scan」するサンプルプログラムを書かないといけません。それを目標に頑張ってみます。頑張り手順を列挙していきます。 1. TCP/IPのヘッダ情報を調べる Webで検索したりTCP/IP関連の書籍をみてみて、TCP
Hey all, So if packets are just streams of bytes sent out to a device… Why is crafting custom packets so hard? Couldn’t you just formulate a string of the information, and then send it to the device? From the Curiously strong mint, Ari --------------------------------------------| If you’re not living on the edge, then you’re just wasting space. Huh? Coding in assembly isn’t “hard” either, in the
LinuxのようなUNIX系OSでは,ファイルに対する操作と同様にネットワーク通信を行うために,「ソケット」と呼ばれる仕組みを使います。今回はソケットについて学びましょう。 コンピュータは「電子計算機」という和名が示す通り,本来は高速に計算するための機械でした。しかし,現在のコンピュータは,Webブラウジングや電子メールのやり取りなどに使われることが多く,ネットワークと切り離すことができません。最近は「コンピュータを使う」ことと「ネットワークを使うこと」がかなり同義になっているのではないでしょうか。 今回は,ネットワークを介した通信の基礎になっている「ソケット」という概念を紹介します。 ディスクリプタでアクセスが単純に ソケットはネットワーク通信に用いるファイル・ディスクリプタ(file descriptor)です。そこで,ソケットの説明に入る前に,より一般的なファイル・ディスクリプタにつ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く