No.2ベストアンサー
- 回答日時:
こんにちは。
私も今winsockで簡単なプログラミングに挑戦中です。ここの掲示板にC言語のことで大変お世話になっています。
IPアドレスとホスト名の表示なら・・・分かります
サブネットの表示方法はわかりませんが・・ごめんなさい。
以下のプログラムは、localName()という関数を自分で記述し、その中でIPアドレスとホスト名を表示しています。
#include <stdio.h>
#include <winsock2.h>
//自端末のIPアドレス&ホスト名の表示
int localName(){
int i = 0;
HOSTENT *lpHost; // ホスト情報を格納する構造体
IN_ADDR inaddr; //IPアドレスを格納する構造体
char szBuf[256], szIP[16]; // ホスト名を保持、IPアドレスを保持
// ローカルマシンのホスト名を取得する
gethostname(szBuf, (int)sizeof(szBuf));
printf("ホスト名=%s\n", szBuf);
// ホスト情報を取得
lpHost = gethostbyname(szBuf);
for(i = 0; lpHost->h_addr_list[i]; i++) {
//IPアドレスを取得
memcpy(&inaddr, lpHost->h_addr_list[i], 4);
strcpy(szIP, inet_ntoa(inaddr));
printf("IPアドレス=%s\n", szIP);
}
return 0;
}
int main(){
//WinSockの初期化
WSADATA wsaData;
if (WSAStartup(MAKEWORD(1, 1), &wsaData) != 0) {
perror("WSAStartup Error\n");
return -1;
}
localName();
WSACleanup();
return 0;
}
サブネットの取得方法ですが・・・ちょっと私も初心者でして・・・分かりません。
テキストは、「猫でもわかるネットワークプログラミング」という本が分かりやすいですよ。でも、windowsプログラミングが分からないとちょっと理解しずらいです。(今現在、苦労中です^^;)
ネットでも、UDPやTCPのエコープログラムのサンプルがたくさんあるので活用してみてください。
回答有難うございます。ソースも書いて頂き、本当にありがとうございます!丁寧なコメントもあり、大変分かりやすかったです。
テキストの紹介も有難うございました。早速見てみようと思います^^
No.3
- 回答日時:
GetIPAddrTableという関数を使えばIPアドレス関係の情報が取得出来ます。
実際のコードは参考URLを参照してください。
参考URL:http://homepage2.nifty.com/spw/tips/GetIpTable.h …
この回答への補足
回答有難うございます。
早速URLを見たのですが、分からない点がありまして・・・。二重になってしまうのですが、質問してもよろしいでしょうか?
ソースの1行目に「//iphlpapi.lib をリンクする必要がある」とあるのですが、サイトや書籍を見ても、どのような設定をしたらライブラリファイルをリンク出来るのかわかりません。OSはXPで、コンパイラはBorland C++ Compiler 5.5を使っています。お手数をおかけして申し訳ありませんが、教えていただけないでしょうか?
No.1
- 回答日時:
IPアドレスの表示なら参考URLにサンプルがあります。
書籍は知りませんがネット上の情報ならwinsockやソケット等で検索すればでてくると思います。
今検索したところ下記のサイトを見つけました↓
http://www.geekpage.jp/programming/winsock/
参考URL:http://www.kumei.ne.jp/c_lang/intro/no_91.htm
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# 画像の画素値を変えるC言語のプログラムで指定された画像の中に白い三角形を右上に表示させるにはどのよう 3 2022/10/30 01:16
- C言語・C++・C# exeファイルが作れない(windows10) 6 2022/08/13 08:47
- Windows 10 インストールしたてのVirtualBoxの仮想マシンにDHCPで割り振られるIPアドレスにつきまして 1 2023/05/03 14:46
- その他(プログラミング・Web制作) プログラミングについて(Python) 添付した画像はC言語で簡単に作ったソースで、1つの配列に5つ 3 2022/09/10 19:15
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- ネットワーク 自作のサーバーPCが自宅内のネットワークに接続できない 3 2023/01/24 16:58
- C言語・C++・C# 参考にいろいろとc言語、c++言語プログラミングでレジストリーを操作したいのですが、無料配布のc++ 3 2022/12/22 01:49
- ネットワーク cutestat.comというサイトでipアドレスが確認できる件 1 2022/04/10 14:19
- UNIX・Linux raspberry piを使ったWebサーバー制作をしています、接続するネットワークを変更したときに 1 2023/01/09 15:57
- その他(プログラミング・Web制作) 次に、楽天のアジャイル就活に参加して、1日で内定を獲得できる。私は大企業に就職できる? 2 2022/04/17 13:38
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
IPアドレスを変更するプログラム
C言語・C++・C#
-
パケット受信 recvfrom( )について
C言語・C++・C#
-
同じLAN内パソコンのIPアドレス、もしくはホスト名の自動取得方法
C言語・C++・C#
-
-
4
コマンド(例えばls)の出力結果を文字列で取得するプログラムの作成方法
C言語・C++・C#
-
5
C言語でネットワーク範囲のIPアドレスを取得
C言語・C++・C#
-
6
ソケットでクライアントのipアドレスを取得できるそうですが・・・
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VisualBasicプログラミング技術...
-
C、C++のプログラミング勉強に...
-
IPアドレス、サブネットマスク...
-
eclipseで関数printfを解決でき...
-
ヤフー知恵袋みたいなサイトを...
-
python urlopen error について...
-
Windows Media Playerを開くと...
-
String^の^自体が何を意味して...
-
Google ColaboでGUI作成
-
iCloudフォトライブラリ内の画...
-
ワード2010で、箇条書きの「行...
-
Dreamweaverのライブラリが反映...
-
C言語/画像処理をしたいです/ex...
-
【VBA】イベントログの取得
-
DLL読み込み時エラー
-
ライブラリ作成時のグローバル...
-
declaration of 'index' shadow...
-
Delphiライブラリの再利用について
-
SSE命令やUSBドライバ作成ってC...
-
生年月日(yyyy/MM/dd) → 年齢...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
IPアドレス、サブネットマスク...
-
大阪梅田でプログラミング関係...
-
MPWでCをするには?
-
Qtを勉強するのに何か良い書籍...
-
VC++6.0で新しいウィンドウを表...
-
eclipseで関数printfを解決でき...
-
機械学習の学習ステップ
-
C++のおすすめの本を教えてくだ...
-
OLEの構造化ストレージについて...
-
C言語等での画像処理の勉強方法
-
VisualBasicプログラミング技術...
-
ヤフー知恵袋みたいなサイトを...
-
タイピングゲームのプログラミ...
-
Android開発の詳しい本
-
VBでシューティングを製作する...
-
NCルータープログラム学習方法
-
プログラミングでロジックを調...
-
プログラミングの次に何を勉強...
-
T-kernelに関しての質問です。
-
C/C++でHTMLソースの取得はでき...
おすすめ情報