タグ

ProgrammingとSocketに関するItisangoのブックマーク (15)

  • systemd - .socket 編 - インゲージ開発者ブログ

    こんにちは、masm11 です。 systemd シリーズの第4回です。 初回: 前回: 今回は .socket ファイルについて説明します。 .socket ファイルとは 以前から Linux/UNIX を管理している方には、inetd の代わり、と言うと 話が早いかと思います。 この unit ファイル中に指定されているポートでリクエストを待ち受け、 リクエストがあったら指定されているサービスに接続を渡すのです。 サービス自身がポートを開いて待ち受けるのに比べると、メリットもあります。 サービスがポートを開いて待ち受ける場合、そのサービスを restart すると、 短い時間とは思いますが、リクエストを受け付けられない時間ができます。 .socket ファイルを使うと、サービスが動いていない間も systemd が 待ち受け続けていますので、その時間をなくすことができます。 この機能は

    systemd - .socket 編 - インゲージ開発者ブログ
  • マルチキャストの使用 (ネットワークインタフェース)

    「サイト」と「地域」は厳密には定義されません。サイトは、ローカルな事柄として、小さな管理単位にさらに分割できます。 アプリケーションは、上記の TTL 以外に初期 TTL を選択できます。たとえば、アプリケーションは、TTL シーケンス 0、1、2、4、8、16、32 を使用し、TTL 0 から開始して応答が得られるまでより大きな TTL のマルチキャスト照会を送ることによってネットワークリソースの「拡張リング検索」が行えます。 マルチキャストルーターは、224.0.0.0 〜 224.0.0.255 の範囲の宛先アドレスを持つマルチキャストデータグラムの転送を、TTL の値にかかわらず拒否します。この範囲のアドレスは、経路指定プロトコルとその他の低レベルトポロジの発見または保守プロトコル (ゲートウェイ発見、グループメンバーシップ報告など) の使用に予約されています。 ホストにマルチキャ

    Itisango
    Itisango 2022/02/28
    初期 TTL0同じホストに制限|1同じサブネットに制限|32同じサイトに制限|64同じ地域に制限|128同じ大陸に制限|255 制限されない|ルーターは、224.0.0.0 〜 224.0.0.255 の範囲のデータグラムの転送を、TTL の値にかかわらず拒否
  • UDPでマルチキャストを使う:Geekなぺーじ

    マルチキャスト送信サンプル まずは、マルチキャストを送信するサンプルを以下に示します。 このサンプルではwinsock2.hだけでなくws2tcpip.hというファイルをincludeしているので注意してください。 ws2tcpip.hでIP_MULTICAST_IFやstruct ip_mreqなどが宣言されています。 #include <stdio.h> #include <winsock2.h> #include <ws2tcpip.h> int main() { WSAData wsaData; SOCKET sock; struct sockaddr_in addr; DWORD ipaddr; WSAStartup(MAKEWORD(2,0), &wsaData); sock = socket(AF_INET, SOCK_DGRAM, 0); addr.sin_family =

    Itisango
    Itisango 2022/02/23
    setsockoptを行わなくても送信できる。しかし複数NICからpacketを投げるので、sotsockoptでIP_MULTICAST_IFを設定すべき。Multicastを受信するにはbindの後でsetsockoptでmulticast groupにjoin。leaveでgroupから抜ける。
  • UDP Server-Client implementation in C++ - GeeksforGeeks

    Itisango
    Itisango 2022/02/14
    UDP Server : Create a UDP socket/Bind the socket to the server address/Wait until the datagram packet arrives from the client/Process the datagram packet and send a reply to the client/Go back to Step 3|UDP Client : Create a UDP socket/Send a message to the server/Wait until response from the ser…
  • System.Net.Sockets 名前空間

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。

    System.Net.Sockets 名前空間
    Itisango
    Itisango 2022/01/28
    「ネットワークへのアクセスを厳密に制御する必要のある開発者のための、Windows ソケット (Winsock) インターフェイスのマネージド実装が用意されています。」
  • Socket クラス (System.Net.Sockets)

    例 次の例は、 クラスを Socket 使用して HTTP サーバーにデータを送信し、標準出力に ASCII 応答を出力する方法を示しています。 次の使用例は、ページ全体を受信するまで、呼び出し元のスレッドをブロックします。 private static void SendHttpRequest(Uri? uri = null, int port = 80) { uri ??= new Uri("http://example.com"); // Construct a minimalistic HTTP/1.1 request byte[] requestBytes = Encoding.ASCII.GetBytes(@$"GET {uri.AbsoluteUri} HTTP/1.0 Host: {uri.Host} Connection: Close "); // Create and

    Socket クラス (System.Net.Sockets)
    Itisango
    Itisango 2022/01/28
    「The Socket class provides a rich set of methods and properties for network communications. The Socket class allows you to perform both synchronous and asynchronous data transfer using any of the communication protocols listed in the ProtocolType enumeration.」
  • TCP/IP 生ソケット - Win32 apps

    生ソケットは、基になるトランスポート プロバイダーへのアクセスを許可するソケットの一種です。 このトピックでは、生のソケットと IPv4 および IPv6 プロトコルについてのみ説明します。 これは、ATM を除く他のほとんどのプロトコルが生ソケットをサポートしていないためです。 生のソケットを使用するには、使用されている基になるプロトコルに関する詳細情報がアプリケーションに必要です。 IP プロトコルの Winsock サービス プロバイダーは、SOCK_RAWのソケット 型 をサポートできます。 Windows に含まれる TCP/IP 用の Windows Sockets 2 プロバイダーでは、この SOCK_RAW ソケットの種類がサポートされています。 このような生ソケットには、次の 2 つの基的な種類があります。 最初の型は、Winsock サービス プロバイダーによって認識

    TCP/IP 生ソケット - Win32 apps
    Itisango
    Itisango 2022/01/27
    「型 SOCK のソケットを使用するには、管理者特権が必要です。 _ Raw ソケットを使用する Winsock アプリケーションを実行するユーザーは、ローカルコンピューターの Administrators グループのメンバーである必要があります」
  • ネットワークインタフェース

    Documentation Home  > ネットワークインタフェース ネットワークインタフェースBook Informationはじめに第 1 章 ネットワークインタフェースとはSunOS 5.8 におけるネットワーキングOSI (開放型システム間相互接続) 参照モデルOSI 層の定義トランスポート層トランスポート層インタフェース (TLI)第 2 章 ソケットインタフェースソケットはマルチスレッドに対して安全SunOS 4 のバイナリ互換性ソケットの概要ソケットライブラリソケットタイプインタフェースセットソケットの基的な使用ソケットの作成ローカル名のバインド接続の確立接続エラーデータ転送ソケットを閉じるストリームソケットの接続データグラムソケット入出力の多重化標準のルーチンホスト名とサービス名hostent - ホストnetent - ネットワーク名protoent - プロトコル

    Itisango
    Itisango 2022/01/27
    「第 1 章 ネットワークインタフェースとは/SunOS 5.8 におけるネットワーキング/第 2 章 ソケット/第 3 章 XTI と TLI /第 4 章 トランスポート選択と名前からアドレスへのマッピング/付録 A UNIX ドメインソケット」
  • 第 2 章 ソケットインタフェース (ネットワークインタフェース)

    第 2 章 ソケットインタフェース この章では、ソケットインタフェースについて、プログラム例を示して具体的に説明します。 「ソケットの概要」 「ソケットの基的な使用」 「標準のルーチン」 「クライアントサーバープログラム」 「拡張機能」 ソケットはマルチスレッドに対して安全 この章で説明するインタフェースは、マルチスレッドに対して安全です。ソケット関数の呼び出しを含むアプリケーションは、マルチスレッド対応のアプリケーションで自由に使用できます。しかし、アプリケーションに有効な多重度は指定されていません。 SunOS 4 のバイナリ互換性 SunOS 4 以降の主な変更は、SunOS 5 リリースにも継承しています。パッケージにバイナリ互換性があるため、動的にリンクされた SunOS 4 ベースのソケットアプリケーションは SunOS 5 でも実行できます。 コンパイル行で、ソケットライブ

    Itisango
    Itisango 2022/01/27
    「ソケットは、ネットワークプロトコルに対してもっとも一般的に使用される低レベルインタフェース」「ソケットは通信の終端であり、名前をバインドできます。ソケットにはタイプがあり、関連プロセスが 1 つ存在」
  • アドレスのバインド (ネットワークインタフェース)

    Itisango
    Itisango 2022/01/27
    「どのローカルアドレスが選択されてもかまわないというサービスは」「<netinet/in.h> 内の定数値を持つ変数 in6addr_any に設定します」「アドレス in6addr_any またはポート番号 0 を指定することを、ワイルドカードの使用」
  • ws2_32.lib が見つからない

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 質問 2006年8月13日日曜日 7:15 Visual C++ 2005 Express Edition を利用しています。 ネットワークプログラムを作成しようと思い、とりあえずwinsock2.hをインクルードし、適当なホームページ上にあったソースをコピペしてビルドしたら、winsock2.hが開けない旨のエラーが表示され、ビルドできません。リンカにws2_32.libを追加しましたが同じ結果でした。ちなみに、「ws2_32」や「.lib」でPC内を検索しましたがws2_32.libというファイルは見つかりませんでした。おどなたか解消方法をご存知でしたらお願いします。 ###エラー表示### includ

    ws2_32.lib が見つからない
  • Man page of BYTEORDER

    Section: Linux Programmer's Manual (3) Updated: 2017-09-15 Index JM Home Page roff page 名前 htonl, htons, ntohl, ntohs - ホストバイトオーダーとネットワークバイトオーダーの間で値を変換する 書式 #include <arpa/inet.h> uint32_t htonl(uint32_t hostlong); uint16_t htons(uint16_t hostshort); uint32_t ntohl(uint32_t netlong); uint16_t ntohs(uint16_t netshort); 説明 htonl() 関数は unsigned integer hostlong を ホストバイトオーダーからネットワークバイトオーダーに変換する。 htons

  • Man page of SOCKET

    Section: Linux Programmer's Manual (2) Updated: 2020-06-09 Index JM Home Page roff page 名前 socket - 通信のための端点 (endpoint) を作成する 書式 #include <sys/types.h> /* 「注意」参照 */ #include <sys/socket.h> int socket(int domain, int type, int protocol); 説明 socket() creates an endpoint for communication and returns a file descriptor that refers to that endpoint. The file descriptor returned by a successful call wil

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

    ここでは、Linuxを使ったネットワークプログラミングの説明を行いたいと思います。 ここで対象としている読者は、ネットワークプログラミング初心者(もしくは入門者)かつLinux環境でプログラミングを行いたい人です。 開発環境としては、C言語+gccを想定しています。 説明内容は主にソケットプログラミングになります。 なお、C言語そのものが初めての方は「C言語入門」も参考にどうぞ。Windows専用には書いてませんが主にC言語で共通の部分を解説しています。 コードを書く前の準備 まず、gccを使える状態にしないといけません。 ディストリビューションにもよりますが、Linuxを普通にインストールしただけでは開発環境は入りません。 開発環境を用意するためには、gccやglibcなどのrpmを必要に応じてインストールしてください。 次に、エディタが必要になります。 mule、emacs、xemac

  • TCP/IPの通信の切断検知 - 揮発性のメモ2

    プログラムが終了するときはOSがFINとか送ってくれるけど、途中でLANケーブル抜けたときとかはどうにもならないので 自分で切断を検知する必要がある。キープアライブを使って切断を検知する。 int option = 1; setsockopt( sd, SOL_SOCKET, SO_KEEPALIVE, (void*)&option, sizeof(option) ); デフォルトでは切断検知まで 2時間11分15秒。 2時間とか待ってると日が暮れるので、これをせめて3分とかにする int option = 1; setsockopt( sd, SOL_SOCKET, SO_KEEPALIVE, (void*)&option, sizeof(option) ); option = 60; setsockopt( sd, IPPROTO_TCP, TCP_KEEPIDLE, (void*)&

    TCP/IPの通信の切断検知 - 揮発性のメモ2
  • 1