検索
ホームページバックエンド開発C#.Net チュートリアルC# (ソケット) 同期ソケットのコード例

同期クライアント ソケットの例

次のサンプル プログラムは、サーバーに接続するクライアントを作成します。クライアントは同期ソケットを使用して生成されるため、サーバーが応答を返すまでクライアント アプリケーションの実行は一時停止されます。アプリケーションは文字列をサーバーに送信し、サーバーから返された文字列をコンソールに表示します。

C#
using System.Net;
using System.Net.Socket;
public static void StartClient() {
//受信データ用のデータ バッファー。 byte[] bytes = new byte[1024];
// リモート デバイスに接続します。
try {
// この例では、ローカル コンピューターのポート 11000 を使用します。 = Dns.Resolve(Dns.GetHostName())
IPAddress ipAddress = ipHostInfo.AddressList[0];
IPEndPoint RemoteEP = new IPEndPoint(ipAddress,11000);
Socket sender = new Socket を作成します。 (AddressFamily.InterNetwork,
SocketType.Stream, ProtocolType.Tcp );
// ソケットをリモート エンドポイントに接続します。
try {
sender.Connect(remoteEP); {0}",
sender.RemoteEndPoint.ToString());
// データ文字列をバイト配列にエンコードします。
byte[] msg = Encoding.ASCII.GetBytes("This is a test");
// ソケット経由でデータを送信します。
int bytesSent = sender.Send(msg);
int bytesRec = sender.Receive(bytes); test = {0}",
Encoding.ASCII.GetString(bytes,0,bytesRec));
// ソケットを解放します。
sender.Shutdown(SocketShutdown. Both);
sender.Close();
} catch ( ArgumentNullException ane) {
Console.WriteLine("ArgumentNullException : {0}",ane.ToString());
} catch (SocketException se) {
Console.WriteLine("SocketException : {0}",se.ToString() );
} catch (例外 e) {
Console.WriteLine("予期しない例外: {0}", e.ToString());
}
} catch (例外 e) {
Console.WriteLine( e.ToString() ); 要求されたサーバー。サーバーは同期ソケット
を使用して生成されるため、クライアントからの接続を待機している間、サーバー アプリケーションの実行がハングします。アプリケーションはクライアントから文字列を受信し、その文字列をコンソールに表示し、その文字列をクライアントにエコーバックします。クライアントからの文字列には、メッセージの終わりを示す文字列「」が含まれている必要があります。






C#
using System.Net;
using System.Text;
public class SynchronousSocketListener;からのデータclient.
public static string data = null;
public static void StartListening() {
// 受信データのデータ バッファー
byte[] bytes = new Byte[1024];
// ソケットのローカル エンドポイントを確立します。
// Dns.GetHostName は、アプリケーションを実行している
// ホストの名前を返します。
IPAddress ipAddress = ipHostInfo.AddressList[0];IPEndPoint localEndPoint = 新しい IPEndPoint(ipAddress, 11000); 
// TCP/IP ソケットを作成します。 
ソケットリスナー = 新しいソケット(AddressFamily.InterNetwork,
SocketType.Stream, ProtocolType.Tcp); 
// ソケットをローカル エンドポイントにバインドし、
// 受信接続をリッスンします。 
試してください {
listener.Bind(localEndPoint); 
listener.Listen(10); 
// 接続のリッスンを開始します。 
while (true) {
Console.WriteLine("接続を待機しています..."); 
// 着信接続を待機している間、プログラムは一時停止されます。 
ソケットハンドラー=listener.Accept(); 
data = null; 
// 受信接続を処理する必要があります。 
while (true) {
バイト = 新しい バイト[1024]; 
int bytesRec = handler.Receive(bytes); 
data += Encoding.ASCII.GetString(bytes,0,bytesRec); 
if (data.IndexOf("") > -1) {
break; 
}
}
// コンソールにデータを表示します。 
Console.WriteLine( "受信したテキスト : {0}", data); 
// データをクライアントにエコーバックします。 
byte[] msg = Encoding.ASCII.GetBytes(data); 
handler.Send(msg); 
handler.Shutdown(SocketShutdown. Both); 
handler.Close(); 
}
} catch (Exception e) {
Console.WriteLine(e.ToString()); 
}
Console.WriteLine("n続行するには Enter を押してください..."); 
Console.Read(); 
}
public static int Main(String[] args) {
StartListening(); 
0を返す; 
}
}

以上は c#(Socket) 同步套接字代例の内容、その他の相关内容请关注PHP中文网(www.php.cn)!


声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
C#.NET開発今日:トレンドとベストプラクティスC#.NET開発今日:トレンドとベストプラクティスApr 28, 2025 am 12:25 AM

C#.NET開発における最新の開発とベストプラクティスには、次のものが含まれます。1。非同期プログラミングは、アプリケーションの応答性を向上させ、Asyncを使用して非ブロッキングコードを簡素化し、キーワードを待ちます。 2。LINQは強力なクエリ関数を提供し、遅延した実行および式ツリーを介してデータを効率的に操作します。 3.パフォーマンスの最適化の提案には、非同期プログラミングの使用、LINQクエリの最適化、メモリの合理的な管理、コードの読みやすさとメンテナンスの改善、単体テストの書き込みが含まれます。

C#.NET:.NETエコシステムを使用したアプリケーションの構築C#.NET:.NETエコシステムを使用したアプリケーションの構築Apr 27, 2025 am 12:12 AM

.NETを使用してアプリケーションを構築する方法は? .NETを使用してアプリケーションを構築することは、次の手順を通じて達成できます。1)C#言語やクロスプラットフォーム開発サポートを含む.NETの基本を理解します。 2)コンポーネントや.NETエコシステムの作業原則などのコア概念を学習します。 3)単純なコンソールアプリケーションから複雑なWebAPISおよびデータベース操作まで、基本的および高度な使用をマスターします。 4)構成やデータベース接続の問題など、一般的なエラーとデバッグ手法に精通している。 5)アプリケーションのパフォーマンスの最適化と非同期プログラミングやキャッシュなどのベストプラクティス。

汎用性のある.NET言語としてのC#:アプリケーションと例汎用性のある.NET言語としてのC#:アプリケーションと例Apr 26, 2025 am 12:26 AM

C#は、エンタープライズレベルのアプリケーション、ゲーム開発、モバイルアプリケーション、Web開発で広く使用されています。 1)エンタープライズレベルのアプリケーションでは、C#がasp.netcoreにWebAPIを開発するためによく使用されます。 2)ゲーム開発では、C#がUnityエンジンと組み合わされて、ロールコントロールやその他の機能を実現します。 3)C#は、コードの柔軟性とアプリケーションのパフォーマンスを改善するために、多型と非同期プログラミングをサポートします。

Web、デスクトップ、モバイル開発用のC#.NETWeb、デスクトップ、モバイル開発用のC#.NETApr 25, 2025 am 12:01 AM

C#と.NETは、Web、デスクトップ、モバイル開発に適しています。 1)Web開発では、ASP.Netcoreがクロスプラットフォーム開発をサポートしています。 2)デスクトップ開発では、さまざまなニーズに適したWPFとWINFORMSを使用します。 3)モバイル開発は、Xamarinを介したクロスプラットフォームアプリケーションを実現します。

C#.NETエコシステム:フレームワーク、ライブラリ、およびツールC#.NETエコシステム:フレームワーク、ライブラリ、およびツールApr 24, 2025 am 12:02 AM

C#.NETエコシステムは、開発者がアプリケーションを効率的に構築できるようにするための豊富なフレームワークとライブラリを提供します。 1.ASP.NETCOREは、高性能Webアプリケーションの構築に使用されます。2.EntityFrameWorkCoreは、データベース操作に使用されます。これらのツールの使用とベストプラクティスを理解することにより、開発者はアプリケーションの品質とパフォーマンスを向上させることができます。

azure/awsへのc#.netアプリケーションの展開:ステップバイステップガイドazure/awsへのc#.netアプリケーションの展開:ステップバイステップガイドApr 23, 2025 am 12:06 AM

c#.netアプリをAzureまたはAWSに展開する方法は?答えは、AzureAppServiceとAwselasticBeanStalkを使用することです。 1。Azureでは、AzureAppServiceとAzurePipelinesを使用して展開を自動化します。 2。AWSでは、Amazon ElasticBeanstalkとAwslambdaを使用して、展開とサーバーレス計算を実装します。

C#.NET:強力なプログラミング言語の紹介C#.NET:強力なプログラミング言語の紹介Apr 22, 2025 am 12:04 AM

C#と.NETの組み合わせにより、開発者に強力なプログラミング環境を提供します。 1)C#は、多型と非同期プログラミングをサポートします。2).NETは、クロスプラットフォーム機能と同時処理メカニズムを提供し、デスクトップ、Web、モバイルアプリケーション開発で広く使用されています。

.NETフレームワーク対C#:用語のデコード.NETフレームワーク対C#:用語のデコードApr 21, 2025 am 12:05 AM

.NetFrameworkはソフトウェアフレームワークであり、C#はプログラミング言語です。 1..netframeworkは、デスクトップ、Web、モバイルアプリケーションの開発をサポートするライブラリとサービスを提供します。 2.C#は.NetFrameWork用に設計されており、最新のプログラミング機能をサポートしています。 3..NetFrameworkはCLRを介してコード実行を管理し、C#コードはILにコンパイルされ、CLRによって実行されます。 4. .NetFrameWorkを使用してアプリケーションをすばやく開発し、C#はLINQなどの高度な関数を提供します。 5.一般的なエラーには、タイプ変換と非同期プログラミングデッドロックが含まれます。 VisualStudioツールは、デバッグに必要です。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。