Node.js、Socket.IOを利用したリアルタイム通信の開発と運用 https://atnd.org/events/76070 の発表資料ですRead less
![ポコロンダンジョンズとリアルタイム通信 -サーバサイド編-](https://cdn-ak-scissors.b.st-hatena.com/image/square/216952e0878d7652d46b5bd45418fddebb93cf6c/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fgmoslide-160422132429-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
Node.js、Socket.IOを利用したリアルタイム通信の開発と運用 https://atnd.org/events/76070 の発表資料ですRead less
前回、簡単なDIコンテナを作ってみたので、次はこれを使ってWebフレームワークを作ってみたいと思います。 Webサーバーをつくる まず、WebフレームワークなのでHTTPサーバーが必要ですね。なので簡単なものを作ります。 とりあえずブラウザからリクエストを受け取ったら200 OKとHTMLを返すだけのサーバーです。 今回は、そこらのブラウザからアクセスできればいいや、ということで、RFCとかの仕様に準拠することは考えません。 public class Server { public static void main(String[] args) throws IOException { ServerSocket serverSoc = new ServerSocket(8989); for (;;) { Socket s = serverSoc.accept(); new Thread((
この項では、ネットワークプログラムで使用する perl の関数を解説します。 関数には、perl の組み込み関数 (socket・bind など) と、Socket モジュールに よって設定される関数 (inet_aton・sockaddr_in など) があります (use Socket と書いてある関数)。 C の関数を知りたいときはオンラインマニュアルを見て下さい。 perl の関数とは引数の数が違うこともありますが、考え方はほぼ同じです。 また、定数は Socket モジュールによって設定されていますが、 実際は /usr/include/sys/socket.h で設定されている値が そのまま使われています。 おさらいしておくと、 クライアント getservbyname でサービス名からポート番号を取得 inet_aton で接続先のホスト名を IP アドレスに変換 socka
HTTP proxy サーバ IO::Socket、IO::Select モジュールを使って、個人用 HTTP proxy サーバを作ってみました。 User-Agent や Referer などの書き換え、コンテンツの書き換えを目的として作り始めましたが、 現時点では中継機能しか実装されていません。proxy の雛型としてどうぞ。 % ./http-proxy.pl とすると、ポート 8080 を listen しますので、ブラウザの proxy 設定を localhost:8080 にしてください。なお、keep-alive と SSL は未対応で、 メソッドは GET・POST のみ実装されています。 http-proxy.pl 1: #!/usr/local/bin/perl 2: 3: # $Id: http-proxy.pl,v 1.2 2003/05/17 14:31:02
select によるマルチスレッドサーバ C 言語において select の使い方を説明します。 echo-server-select.c 117: int 118: main(){ 119: fd_set target_fds; 120: fd_set org_target_fds; 121: int sock_optval = 1; 122: int port = 5000; 123: /* リスニングソケットを作成 */ 124: listening_socket = socket(AF_INET, SOCK_STREAM, 0); 125: 126: /* ソケットオプション設定 */ 127: if ( setsockopt(listening_socket, SOL_SOCKET, SO_REUSEADDR, 128: &sock_optval, sizeof(sock_opt
ここでは、rubyを使ってTCPによる通信を行うプログラムを書く方法を説明したいと思います。 TCPとは インターネットでの通信の90%以上はTCPによるものだと言われています。 通信を行うプログラムを書く場合、ほとんどがTCPによるものになると思います。 インターネットは信頼性のない通信路です。 信頼性がないインターネットでは、通信中にパケットロス、ビットエラー、順番の入れ替えなどが発生する可能性があります。 TCPは、そのような通信路上の障害を隠蔽してくれます。 具体的には、パケットロスが発生したら再送を行ったり、順番が入れ替わると正しい順番に直したりしています。 TCPによる通信はサーバとクライアントの2者間で行われます。 サーバは通信要求が来るまで待ち続けます。 TCPによる通信は、クライアントがサーバに対して接続要求を出すことから始まります。 サーバが接続要求を受け付けるとクライ
Swiftでソケット通信するチャットアプリを作ってみた。 iOSにはSIOSocketを、バックエンドにはSocket.ioを使用。 Github 環境 Swift SIOSocket https://github.com/MegaBits/SIOSocket バックエンド Node.js Express https://github.com/strongloop/express/stargazers socket.io https://github.com/Automattic/socket.io mongodb http://www.mongodb.org/ mongoose https://github.com/LearnBoost/mongoose あれこれ iOSでソケット通信するためのライブラリにはSocketRocketなど色々あるがSIOSocketがSwiftと相性良さそ
今回はPHPマニュアルに載ってるソケットサーバーのサンプルを少し書き換えて、コメント付け。 1って付けちゃったよ。 たぶん連載ものになる予定。 「JAVAやRubyで良いじゃん」ってのは禁句です。 人には色々事情があるんです。 で、ソケットプログラミング。 うん、さっぱりわからん。 誰もやらないのか、PHPでソケットプログラミングをする情報が非常に少ないのでPHPマニュアルのサンプルみながら少し書き換えてコメントふってみた。 結構いいかげんだけど、それは適当にメモなんで。 <?php // エラーのタイプ error_reporting (E_ALL); // サポートされる全てのエラーと警告 // スクリプトが実行可能な秒数を無制限に設定 set_time_limit (0); // 出力関数のコールが行われるたびに自動的にフラッシュ操作が行う ob_implicit_flush ();
TCPクライアント・サーバープログラムを作成するここでは、TCP(Transmission Control Protocol)サーバーとクライアントを作成する方法の基本的な事柄について説明します。非同期処理などのさらに高度な事柄については、「TCPを利用した複数クライアント接続可能なチャットアプリケーションを作る」で説明します。 TCPサーバーはTcpListenerクラスを、TCPクライアントはTcpClientクラスを使用して作成すると、比較的簡単(といっても難しいですが)にできます。 TCPサーバーの作成サーバーは指定されたポートを監視し、クライアントの接続要求を待ちます。クライアントからの接続要求があり、これをサーバーが受け付けると、接続が完了し、切断するまでの間、データの送受信が可能となります。 早速、TCPサーバーを作ってみましょう。大ざっぱな手順は次のようになります。 Tcp
Home > Coding > Socket Programming > Python > Python socket programming Tutorial – How to Code Client and Server Socket programming in Python This is a quick guide/tutorial on socket programming in python. Socket programming python is very similar to C. To summarise the basics, sockets are the fundamental "things" behind any kind of network communications done by your computer. For example when yo
ネットワークを通して、データをやりとりするためには、Socketに対して、読み書きをします。 C言語による、Socket間通信は、下記のような手順になります。 socket() によりソケットを開く bind() により、コネクションを受けつけるIPアドレス・ポート番号と ソケットとを対応づける listen() によりクライアントからの接続待ち受け状態にする accept() によりクライアントからの接続を受け付ける read(), write(), send(), recv() などを用いて通信を行う close() によりソケットを閉じる 実際に文字列を単純にクライアントに返すだけのプログラム(echoサーバ)を書いて見ます。 ちなみに、本コードでは、1回やりとりが終わると、サーバプロセスも終了します。 #include <stdio.h> #include <stdlib.h> /
2009/1/1823:5 【C++】ソケット通信 C++でソケット通信を行う方法について説明します。 Windowsでソケット通信を行う場合、WinSock APIを利用します。 WinSock APIを利用するには、以下の作業が必要になります。 ・リンカにws2_32.libをインポートする。 ・ヘッダファイル(winsock2.h)をインクルードする。 以下、サンプル。 (Visual C++ 2008を利用する場合を想定しています) 《事前準備》 サーバ用とクライアント用に2つのプロジェクトを用意する必要があります。 以下の1〜3の操作を各プロジェクトで行ってください。 1.新規に[空のプロジェクト]を追加する。 2.ソースファイルを追加する。 1)[プロジェクト]-[新規項目の追加][C++ファイル(.cpp)]を選択する。 3.リンカにソケット通信用のライブラリを追加する。 1
TCP/IPネットワークプログラミング linux gcc でTCP/IPネットワークを使うサンプルプログラムです. gcc file_name.c -lnsl でコンパイルして下さい. サーバープログラムとクライアントプログラムの2つを用意しています. サーバープログラムを実行してから,クライアントプログラムを実行して下さい. Windows VC++ 版を探している方はこちらへどうぞ. Windows のクライアントから linux のサーバーにつなぐことも可能です. //Linux gcc での TCP/IP サンプルプログラム(ここからサーバー) //クライアントから送られてきた文字列を大文字に変換して送り返す //サーバープログラムを実行してからクライアントプログラムを実行して下さい #include <stdio.h> #include <string.h> #include
Socketクラスは、低レベルなAPI仕様を実装しているため、細かな制御ができる一方、プログラムが煩雑になりがちである。.NET FrameworkではTCP上でソケット通信を簡単にプログラミングできるよう、Socketクラスをベースとした、TcpClientクラスとTcpListenerクラスが用意されている。通常は主にこれらのクラスを利用してネットワーク・アプリケーションの通信の基礎部分を作成していくことになる。 NetworkStreamクラスは、ネットワークを読み書きの対象とするストリームである。TcpClientクラスやTcpListenerクラスと組み合わせて使われることが多く、通信が確立した後のデータのやりとりに活躍する。ストリームについては、後ほどもう少し詳しく説明する。 2.2. TcpClientとTcpListenerの利用と通信イメージ TcpClientクラスとT
Sockets プログラミングを Java で行う方法について記述します。ここでは、TCP を用いたプログラミング方法を記述します。 Sockets に関するクラスは、java.net パッケージに含まれています。 ソケットをオープンする方法 クライアントプログラムを作成する場合: Socket MyClient; MyClient = new Socket("HostName", PortNumber); "HostName"は、接続を開始しようとしているサーバー名を指定し、PortNumber は、 そのサーバーのどのポート番号を利用するかを指定します。ポート番号を選択する場合、 特権ユーザー(スーパーユーザーまたはルート)のために 0から 1,023のポート番号が予約されています。 これらのポート番号は、電子メール、FTPおよびHTTPのような標準サービスのためのものです。 もし、自
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く