
C# 型または名前空間の名前'tcpclient'が'System.Net.Sockets'に存在しません
using System;
using Windows.UI.Xaml.Controls;
using System.Diagnostics;
// 空白ページの項目テンプレートについては、https://go.microsoft.com/fwlink/?LinkId=402352&c … を参照してください
namespace client
{
/// <summary>
/// それ自体で使用できる空白ページまたはフレーム内に移動できる空白ページ。
/// </summary>
public sealed partial class MainPage : Page
{
public MainPage()
{
//初期化
this.InitializeComponent();
//サーバーに送信するデータを入力してもらう
string sendMsg = "a";
//何も入力されなかった時は終了
if (sendMsg == null || sendMsg.Length == 0)
{
return;
}
//サーバーのIPアドレス(または、ホスト名)とポート番号
string ipOrHost = "127.0.0.1";
int port = 5354;
//TcpClientを作成し、サーバーと接続する
System.Net.Sockets.TcpClient tcp =
new System.Net.Sockets.TcpClient(ipOrHost, port);
Console.WriteLine("サーバー({0}:{1})と接続しました({2}:{3})。",
((System.Net.IPEndPoint)tcp.Client.RemoteEndPoint).Address,
((System.Net.IPEndPoint)tcp.Client.RemoteEndPoint).Port,
((System.Net.IPEndPoint)tcp.Client.LocalEndPoint).Address,
((System.Net.IPEndPoint)tcp.Client.LocalEndPoint).Port);
//NetworkStreamを取得する
System.Net.Sockets.NetworkStream ns = tcp.GetStream();
//読み取り、書き込みのタイムアウトを10秒にする
//デフォルトはInfiniteで、タイムアウトしない
//(.NET Framework 2.0以上が必要)
ns.ReadTimeout = 10000;
ns.WriteTimeout = 10000;
//サーバーにデータを送信する
//文字列をByte型配列に変換
System.Text.Encoding enc = System.Text.Encoding.UTF8;
byte[] sendBytes = enc.GetBytes(sendMsg + '\n');
//データを送信する
ns.Write(sendBytes, 0, sendBytes.Length);
Console.WriteLine(sendMsg);
//サーバーから送られたデータを受信する
System.IO.MemoryStream ms = new System.IO.MemoryStream();
byte[] resBytes = new byte[256];
int resSize = 0;
do
{
//データの一部を受信する
resSize = ns.Read(resBytes, 0, resBytes.Length);
//Readが0を返した時はサーバーが切断したと判断
if (resSize == 0)
{
Console.WriteLine("サーバーが切断しました。");
break;
}
//受信したデータを蓄積する
ms.Write(resBytes, 0, resSize);
//まだ読み取れるデータがあるか、データの最後が\nでない時は、
// 受信を続ける
} while (ns.DataAvailable || resBytes[resSize - 1] != '\n');
//受信したデータを文字列に変換
string resMsg = enc.GetString(ms.GetBuffer(), 0, (int)ms.Length);
ms.Close();
//末尾の\nを削除
resMsg = resMsg.TrimEnd('\n');
Console.WriteLine(resMsg);
//閉じる
ns.Close();
tcp.Close();
Console.WriteLine("切断しました。");
Console.ReadLine();
}
}
}
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
うろ覚えの上に、Visual Studio前提だけど。
下記がTcpClientクラスの仕様です。
(.NET Framework 4.8の場合。)
https://docs.microsoft.com/ja-jp/dotnet/api/syst …
Assemblies:にdllが記載されていると思います。
このdllをプロジェクトの参照に追加する必要があります。
簡単に言うと、これらの中にTcpClientクラスの実体があります。
おそらく、System.dllは既に追加されているのではないかと思います。
足りない分を追加すると使えるかもしれません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# TCP/IP通信時のサーバーからの受信 2 2022/11/23 09:11
- C言語・C++・C# Windows Formアプリからコンソールを呼び出して文字を出力させたい 8 2023/05/09 10:53
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- C言語・C++・C# PC画面を録画するプログラムでdllの読み込みエラー 1 2023/04/22 08:31
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- Gmail 【お助け!】サーバーからのメール送信でGmailに送信されない問題について 1 2023/06/20 22:03
- C言語・C++・C# c言語の問題です 2 2023/07/21 10:51
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「未使用」と「不使用」ってど...
-
インスタの設定について。 イン...
-
ネットカフェから、メールでき...
-
自宅にwi-fi環境があるにも関わ...
-
PCの内蔵メモリにデータは残る?
-
XMLデータってなんですか?
-
LINEの再インストールってどう...
-
d’の求め方
-
パレート図等で「N=100」とあ...
-
syndication.twing.comとは
-
正規分布へのfitting
-
iTuneの音楽データについて
-
iTunes Matchについて。 iTunes...
-
データ用HDDの別のPCへの乗せ替え
-
Excelの“並び替え”で文字コード...
-
相関行列作成時の数字以外のデ...
-
高速フーリエ変換でデータ数が...
-
Excel グラフで数値の正と負の...
-
Excel Webクエリ
-
シリアルRS-232出力機器からの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「未使用」と「不使用」ってど...
-
エクセルで縦に並んだデータを...
-
インスタの設定について。 イン...
-
高速フーリエ変換でデータ数が...
-
ネットカフェから、メールでき...
-
【データセンター】Microsoftも...
-
XMLデータってなんですか?
-
自宅にwi-fi環境があるにも関わ...
-
【MSOffice Publisher2010差し...
-
PCの内蔵メモリにデータは残る?
-
エクセルのグラフのデータ系列...
-
パレート図等で「N=100」とあ...
-
Excel Webクエリ
-
データ用HDDの別のPCへの乗せ替え
-
日本通信の当月利用データ量は...
-
英語で何と言うか教えてくださ...
-
Excelの“並び替え”で文字コード...
-
表計算: 多次元の表を作りたい
-
FAXの表をエクセルに変換したい
-
電子辞書の画面をPCに映すには
おすすめ情報