Javaによるネットワークプログラミング:TCPおよびUDPプロトコルの実装手法

Javaのjava.netパッケージを利用することで、ネットワークを介したデータの送受信を容易に実装できます。ここでは、信頼性の高い通信を実現するTCPと、高速性を重視するUDPの2つのプロトコルについて、具体的な実装方法を解説します。 TCPプロトコルによる双方向通信 TCP(Transmission Control Protocol)は、接続を確立してから通信を行うコネクション型のプロトコルで ...

8月26日 23:41 投稿

.NET 8 のネットワーク機能強化:SocketsHttpHandler、QUIC、UDP ソケット、IPNetwork

SocketsHttpHandler の設定簡略化 .NET 8 では、HttpClientFactory で SocketsHttpHandler をより直感的に設定できるようになりました(dotnet/runtime#84075)。 UseSocketsHttpHandler メソッドにより、コード内または設定ファイル(IConfiguration)からハンドラを構成できます。両方を組み合わせることも可能です。 設定ファイルからの読み込みは、bool、int、Enum、 ...

8月16日 16:30 投稿

Qtを用いたUDPブロードキャストとTCPファイル転送の実装:LANチャットアプリケーションの構築

アーキテクチャの概要 本稿では、Qtフレームワークを利用して、ローカルエリアネットワーク(LAN)内で動作するチャットアプリケーションを構築します。システムは主に2つの通信プロトコルに依存しています。 UDPブロードキャスト: ユーザーのログイン・ログアウト状態の通知、およびテキストメッセージの送受信に使用します。コネクションレスの特性を活かし、複数クライ ...

8月14日 00:07 投稿

TCP/IP プロトコルとネットワーク通信の基礎

ネットワークの定義と分類 コンピュータネットワークは、通信回線を介して地理的に分散したコンピュータシステムや通信機器を接続し、リソース共有と情報伝達を実現するシステムです。ネットワークは以下のように分類されます: LAN:企業や学校など限られた範囲で利用されるネットワーク MAN:都市圏規模のネットワーク WAN:広域にわたる大規模ネットワーク ネットワ ...

7月25日 21:24 投稿

UDPブロードキャスト通信の実装と原理

ブロードキャストとは ブロードキャストは、ネットワーク上のすべてのホストにデータを送信する通信方式です。特にLAN(ローカルエリアネットワーク)内で有効で、ルータを経由せずに同一セグメント内のすべてのデバイスにパケットを届けることができます。受信側はパケットを受信しますが、通常は特定の条件(例:特定のポートやプロトコル)に合致した場合のみ処理を行い ...

7月24日 19:39 投稿

C#でのUDP通信の簡易実装

はじめに UDP通信をC#で実装する方法は2つあります。1つは低レベルのSocketクラスを直接使う方法、もう1つはより高レベルなUdpClientクラスを利用する方法です。後者のほうがコード量が少なく簡単です。 以下、それぞれの実装例を示します。 方法1:Socketクラスをラップした簡易ライブラリ 送信側(クライアント) using System; using System.Net; using System.Net.Soc ...

7月6日 23:49 投稿

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

## 1. ネットワークプログラミング入門 1.1 ネットワークプログラミングの概要【理解】 コンピュータネットワーク 地理的に離れた場所にある複数の独立機能を持つコンピュータと外部デバイスを通信回線で接続し、ネットワークオペレーティングシステム、ネットワーク管理ソフトウェア、およびネットワーク通信プロトコルによって管理・調整され、リソース共有と情報伝達 ...

7月6日 17:01 投稿

Pythonによるソケット通信の基礎と実装

ソケットの基本概念 ソケット(Socket)は、ネットワーク上でプロセス間通信を実現するためのインターフェースです。BSD UNIXを起源とし、異なるホスト上で動作するプログラム同士がデータをやり取りするための基盤を提供します。電話網に例えるなら、ソケットは電話の差込口に相当し、IPアドレスとポート番号の組み合わせが市外局番と電話番号の役割を果たします。 ソケ ...

6月29日 16:00 投稿

Pocoライブラリを用いたC++ UDPネットワークプログラミング

Pocoライブラリは、ネイティブソケットの上位レイヤーに位置するC++用ネットワークフレームワークです。生のソケットと比較して性能面ではやや劣るものの、安全性と実用性に優れ、簡潔なAPIを提供します。UDPプロトコルでは、受信側がデータを適時に取得できない場合、そのデータは失われます。 環境セットアップ sudo apt-get install libpoco-dev ポート514に関する注 ...

6月28日 18:23 投稿

UDPネットワークプログラミングの実装

前章ではソケットとTCP/UDPプロトコルについて説明しました。本章ではUDPプロトコルに基づくネットワークサービスをいくつか実装します。サーバーとクライアントの両方が必要です。 サーバーの実装 1.1 socket関数 #include <sys/types.h> #include <sys/socket.h> int socket(int domain, int type, int protocol); 引数の説明: domain:ドメイ ...

6月27日 16:53 投稿