タグ

NetWorkとprogrammingに関するwebmarksjpのブックマーク (22)

  • Geekなぺーじ : Rubyネットワークプログラミング

    ここでは、Rubyによるネットワークプログラミングの説明を行いたいと思います。 ここで対象としている読者は、ネットワークプログラミング初心者(もしくは入門者)です。 TCP 簡単なTCPサーバとクライアント TCPクライアント(エラー処理付き) 何度も受信できるTCPサーバ TCPサーバ(acceptした相手の確認) UDP UDPを使う UDPでブロードキャストを使う UDPでマルチキャストを使う(マルチキャストを送信する) UDPでマルチキャストを使う(マルチキャストを受信する) UDPでマルチキャストを使う(TTLを設定する) Web 簡単なHTTP GET(Net::HTTP) HTTP HEADと全てのHTTPヘッダの表示(Net::HTTP) HTTP POST(Net::HTTP) 簡単なRSSクライアント その他 IO::selectを使う IPアドレスからホスト名への変換

  • ネットワークプログラミングの基礎知識

    ネットワークプログラミングの基礎知識 ここでは IP アドレスやポート番号、クライアントとサーバの役割などを説明し、 perl・C言語・Java などでソケット (Socket) を使った HTTP クライアントや POP3 クライアント、簡単なサーバを作成してみます。 要はネットワークプログラミングをやってみよう、ということです。 このページのサンプルプログラムは、RFC などの規格に準拠した「正しい」プログラムではありません。 また、全体的にエラー処理が不十分です (今後改善する予定です)。 あくまでも概要を理解するためのサンプルととらえてください。 もし気でしっかりとしたクライアントやサーバを書きたいなら、このページを読んだ上で、 さらに RFC を熟読し、そして wget・Apache・ftp コマンドなどのソースを参考にしてください。 このページに間違いを見付けたら、掲示板

  • Comet/Ajaxの上を行く技術 - Blog by Sadayuki Furuhashi

    上を行くかどうかは知りませんが :-p Ajaxはクライアントの都合でサーバーに通信を仕掛けるpull型の通信ができ、Cometはサーバーが好きなタイミングでクライアントへデータを送りつけるpush型の通信ができるわけですが、新たに双方向の通信ができる技術を開発しました。 具体的には、JavaScriptとサーバーの間で双方向のRPCができます。すなわち、サーバーからクライアント側のJavaScriptのメソッドが呼べるし、逆にクライアント側からサーバー側のメソッドを呼ぶこともできます。 サーバー側で call("addMessage", "Hello!") とやると、JavaScript側の function addMessage(msg) { ... } という関数が呼ばれたりします。 この技術を使って、試しにチャットシステムを作ってみました > デモ (ソースコード)*1 リアルタイ

    Comet/Ajaxの上を行く技術 - Blog by Sadayuki Furuhashi
  • ぼくはまちちゃん! こんにちはこんにちは!!

    君は“はまちちゃん事件”を知っているか? mixiのホームページ。mixiユーザーの中には、赤で囲んだ“マイミクシィ最新日記”欄に、“ぼくはまちちゃん!”の文字がいくつも並んだ人がいた 古くからのmixiユーザーであれば、“はまちちゃん事件”を覚えている人も多いだろう。2005年4月、mixiで大勢のユーザーが“ぼくはまちちゃん!”というタイトルを付けた、謎の日記を次々に公開するという怪現象が起こった。 きっかけとなったのは、あるユーザーが投稿した日記。その日記の文には「こんにちはこんにちは!!」という言葉とともに“あるURL”が貼り付けてあった。 このURLが罠で、不思議に思って押すと、クリックしたユーザーのページに“ぼくはまちちゃん!”というタイトルで同じ文面/URLの日記が勝手にアップされてしまうのだ。 投稿は“ねずみ算”的に増え、一時は混乱状態に…… さらに、勝手にアップロードさ

  • inetd の仕組みを見てみる - naoyaのはてなダイアリー

    inetd や xinetd (以下 inetd) はインターネットサービスをデーモン化するのに共通している処理を担い、ほとんどの時間をアイドル状態で過ごすその手のサービスに必要なリソースを節約する役割を果たします。 inetd のひとつ面白いところは、inetd でサービス化したいプログラムの標準入力/標準出力がクライアントソケットの入出力に接続されるところです。例えば daytime 相当のサービスを自分で作ろうと思った場合 #!/usr/local/bin/perl # daytime.pl use strict; use warnings; use DateTime; use IO::Handle; STDOUT->autoflush(1); STDOUT->printf( "%s\n", DateTime->now(time_zone => 'Asia/Tokyo') ); と標

    inetd の仕組みを見てみる - naoyaのはてなダイアリー
  • IPアドレスから国名や経緯度を得る方法:phpspot開発日誌

    Using the Database - IP Address Lookup - Community Geotarget IP Addresses Project hostip.infoのAPIを使ってIPアドレスから国名を得ることが可能です。 ●次のURLにアクセスすれば自分の国が表示されます。 http://api.hostip.info/country.php 出力例) JP ●次のURLにGETでアクセスすると指定したipの国情報が得られます。 http://api.hostip.info/get_html.php?ip=12.215.42.19 出力例) Country: UNITED STATES (US) City: Sugar Grove, IL ●次のように position=true を付与すると経緯度を得ることも可能。 http://api.hostip.info/g

  • P2P basic

    P2P basic P2Pとは何か?〜基礎から研究紹介まで〜 最近,P2Pという言葉を良く聞きます。ニュースの中でも「P2Pを意識している」とか「P2Pの研究に着手」というニュースを聞いたことがあるのではないでしょうか? しかしながら,P2Pとは何かいまいちわからなかったり、どんなことに役に立つのか調べにくいことも確かです。 またP2Pの動向は激しく,その流れについていくのも大変です。 私は情報系の研究所でP2Pの研究開発をしていました。 そのため、このような現状を踏まえてP2Pの基礎から私の研究まで重要な部分を なるべくわかりやすく紹介致します。 また用語についてはわかりやすさを優先するために一部不正確なところがあるのでご了承下さい。 質問,コメント等はメール(tnishita@yahoo.co.jp) にて連絡して頂くと,ページ改良の参考になりますのでよろしくお願い致します。 P2Pに

  • JAPAN APACHE USERS GROUP

  • ステートレスとは何か

    RestWiki をたまに見直すと新たな発見があって面白い。 たとえば先日、「ステートレスなやりとりとは何か(What is Stateless Interaction?)」という箇所を見つけて、興味深く読んだ。このページは以前も絶対に読んでいるはずなのだが、 人間は忘れてしまうものである。 RestWiki の例でも充分わかりやすいのだけれど、自分でも例を思いついたので書きとめておく。 ステートフルサーバとステートレスサーバはどう違うのか。 まずは、ステートフルの例: 客: こんにちは 店員: いらっしゃいませ。○○バーガーへようこそ 客: ハンバーガーセットをお願いします 店員: サイドメニューは何になさいますか? 客: ポテトで 店員: ドリンクは何になさいますか? 客: ジンジャーエールで 店員: +50円でドリンクをLサイズにできますがいかがですか? 客: Mでいいです 店員:

  • Python と Twisted できみにも書ける Web サーバ(1)

    lowlife.jp 2024 著作権. 不許複製 プライバシーポリシー

  • Winnyの通信解読に挑戦!

    Winnyの通信を特定する方法には,「流れるパケットのパターン(トラフィック・パターン)を調べる方法」と,「パケットの中身を調べてWinnyのパケットであることを確認する方法」の2通りがある。前者は,直接中身のデータをのぞいているわけではないため,通信の秘密を守るという大前提があるプロバイダがWinnyを規制する際に使っている。しかし,Winnyの通信を確実に特定するなら,後者の方法がベストである。実際にWinnyの通信を解読できるのか,Winny作者の金子勇氏の著書『Winnyの技術』やインターネットで得られた情報などを参考に挑戦してみた。 Winny(ウイニー)同士の通信はすべて暗号化されている。このため,流れるパケットをのぞいても,内容がどんなものなのかだけでなく,Winnyの通信なのかどうかも,ひと目ではわからない。Winnyが採用している暗号アルゴリズムRC4は,Webアクセスや

    Winnyの通信解読に挑戦!
  • C++と Pthreads でミニマルなHTTPサーバを書く - いやなブログ

    C++と Pthreads でミニマルなHTTPサーバを書く 『UNIXネットワークプログラミング』を読んでいると、自分でも何かネットワーク系の小さなプログラムを書いてみたくなりました。そこで、ミニマルなHTTPサーバを C++と Pthreads で書いてみました。 同じ著者の「詳解UNIXプログラミング」もそうだったように、今回のもほとんどすべてのページに、重要なことが書かれています(最後のほうのXTIの部分は例外かもしれませんが)。 たとえば、27章ではネットワークサーバの実装として、次の設計方針がそれぞれ検討され、実際のコード付きで解説されています。 クライアントごとに fork 事前に fork - 各プロセスで accept 事前に fork - ファイルロックで accept を保護 事前に fork - Mutex ロックで accept を保護 (PTHREAD_PRO

  • Pure Ruby な SSH クライアントライブラリ「Net::SSH」 - WebOS Goodies

    WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。

  • naoyaのはてなダイアリー - Perlでモダンなネットワークサーバーを書くには

    Comet については、普及するかどうかという以前に、どう使えばいいのか、正しく使った場合に何をどこまでできるのか、という理解が共有されていないように思います。なので、(あくまで私見ですが) 使用したスライドの一部を公開したいと思います。よろしければごらんください。 サイボウズラボの奥さんによる Comet のサーバー周りの資料。すばらしい。C10K に対してどのようなアーキテクチャをとるのが良いかとの考察が特に勉強になりました。 また、問題や改善すべき点があれば、教えていただければ幸いです。 というので問題、改善すべきというわけではないですが Perl 周りの話で少し補足を。 資料中の「初心者へのオススメが PoCo::Server::HTTP でパフォーマンスが欲しい人には Sys::Syscall qw/:epoll/」の点。おそらく Perl でも epoll を使えますよというこ

    naoyaのはてなダイアリー - Perlでモダンなネットワークサーバーを書くには
  • http://www.media.t-kougei.ac.jp/~nagae/2ch/

  • TenQuestionsWithJoeArmstrong - 並列プログラマに 10 の質問 - Joe Armstrong さんの場合

    TenQuestionsWithJoeArmstrong - 並列プログラマに 10 の質問 - Joe Armstrong さんの場合 目次 この文書について 並列プログラマに 10 の質問 - Joe Armstrong さんの場合 並列プログラマに 10 の質問 - Joe Armstrong さんの場合 この文書について "Ten Questions with Joe Armstrong about Parallel Programming and Erlang" の日語訳です。 添削歓迎: タイポ、訳語不統一、そのほか ... この記事は "並列プログラミングのアイドルに突撃インタビュー!" シリーズの第一弾です. 今日のお相手は Joe Armstrong さん. プログラミング言語 Erlang の父です. いまは Ericsson で働いています. Ericsso

  • Cookie仕様 日本語訳

    Cookieの仕様は、Netscape Communications Corporation が、 http://wp.netscape.com/newsref/std/cookie_spec.html で公開しております。このドキュメントをfutomiが日語化したものです。みなさまのCookieの理解に役立てれば幸いです。なお、緑色で記載された文章は、futomiが注釈として加筆したものです。また、一部、直訳ではなく、意訳した部分がございます。原文と表現がことなることがございますので、ご了承ください。 注意: この日語訳は、futomiがCookieの理解を深めるために、自分なりに日語にしたものです。語訳には、翻訳上の誤りがある可能性があります。したがって、内容について一切保証をするものではありません。正確さを求める場合には、必ず原文を参照してください。当方は、この文書によっ

  • Programming UNIX Sockets in C - Frequently Asked Questions

    Created by Vic Metcalfe, Andrew Gierth and other contributers (Transrated into Japanese by: Keisuke Mori)May 21, 1998 この文書は、UNIX 上での ソケットインターフェースを用いた TCP/IP アプリケーションプログラミングについて、頻繁に行われる質問とその 解答を集めたものです。 1. 一般的な情報と概念 1.1 更新情報 1.2 この FAQ について 1.3 この FAQ はどのような人向けでしょうか? 1.4 ソケットって何ですか? 1.5 ソケットはどのように動作するのでしょうか? 1.6 [あるの題名] というのソースコードはどこから取得できますか? 1.7 どこでもっと情報を得ることができますか? 2. クライアントとサーバ(TCP/SOCK_STREA

  • Winsock Programmer's FAQ

    このページは、Winsock Programmer's FAQ の日語訳です。この FAQ の原文はWarren Young 氏によるもので、Winsock Programmer's FAQのサイトで公開されているものです。このページで公開してい る日語訳は、同氏の許可を得て、私(Keisuke MORI)が翻訳、公開して います。この FAQ のオリジナルの歴史や著者については、序文 の章を参照して下さい。 現時点では、まだ全部の章の翻訳は完了していません。未訳の章は 原文のままで残っていますのでご了承ください(実はこの翻訳は、かな り以前から着手していたのですが、どうも遅々として進まないので:-) まずはできたところから公開することにしました)。 なお、この日語訳FAQは、常に最新であるという保証はできません ので、最新の情報については適宜オリジナルのFAQを参照してくださる よ

  • Winsock Programmer's FAQ

    このページは、Winsock Programmer's FAQ の日語訳です。この FAQ の原文はWarren Young 氏によるもので、Winsock Programmer's FAQのサイトで公開されているものです。このページで公開してい る日語訳は、同氏の許可を得て、私(Keisuke MORI)が翻訳、公開して います。この FAQ のオリジナルの歴史や著者については、序文 の章を参照して下さい。 現時点では、まだ全部の章の翻訳は完了していません。未訳の章は 原文のままで残っていますのでご了承ください(実はこの翻訳は、かな り以前から着手していたのですが、どうも遅々として進まないので:-) まずはできたところから公開することにしました)。 なお、この日語訳FAQは、常に最新であるという保証はできません ので、最新の情報については適宜オリジナルのFAQを参照してくださる よ