ITです。早速ですがwinsockでURLを指定した接続確認をしたいのですが、うまくいきません。
下記のソースで、URLを指定してinet_addr関数呼び出すと-1、
gethostbynameを呼び出すと0が却ってきてしまい、うまく接続出来ません。
IPアドレス(127.0.0.1)を指定すれば、上記の関数は成功するのですが。
URLからIPアドレスの変換方法が解りません。
どうか助けて下さい。
int main(int argc, char* argv[])
{
WSADATA wsaData;
sockaddr_in server;
SOCKET sock;
long err;
hostent *host;
char *url = "http://www.yahoo.co.jp";
// winsock2の初期化
err = WSAStartup(MAKEWORD(2,0), &wsaData);
if (err != 0) {
printf("WSAStartup error = %d\n", err);
return(-1);
}
// ソケットの取得
sock = socket(AF_INET, SOCK_STREAM, 0);
if (sock == INVALID_SOCKET) {
printf("socket error = %d\n", WSAGetLastError());
return(-1);
}
// IPアドレスの取得
memset(&server, 0, sizeof(server));
server.sin_family = AF_INET;
server.sin_port = htons(80);
server.sin_addr.S_un.S_addr = inet_addr(url);
if (server.sin_addr.S_un.S_addr == -1) {
host = gethostbyname(url);
if (host == NULL) {
printf("host not found host = %d\n", WSAGetLastError());
return(-1);
}
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# スタックフレームの消滅 6 2023/05/20 12:33
- C言語・C++・C# 宣言する関数の形が決まっている状態で、 str1とstr2の文字列をこの順に引っ付けてstrに保存し 2 2022/05/30 18:21
- C言語・C++・C# C言語で再起関数とポインタを用いて文字列反転をする方法がわかりません。 4 2023/04/29 20:32
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語のfor文です。 繰り返しの...
-
fgetsなどのときのstdinのバッ...
-
間接操作のレベルとは
-
CStringをwchar_tに変換したい
-
バイトスワップをやりたい
-
c言語でユーザ関数を利用して入...
-
C言語の入力した文字を反転させ...
-
atoi( ) の反対をやりたい
-
文字列から空白を取り除きたい...
-
Linuxでフォルダ内全ファイル名...
-
enumの記述について。
-
配列をnビットシフトする
-
ユニコード文字列の分割
-
DPマッチング
-
C言語です
-
RGB→YUV変換のプログラム
-
C言語のビットフィールドについて
-
c++ 文字列を入力して、一文字...
-
C言語のポインターで詰まっている
-
ワイルドカードを用いた文字列検索
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
fgetsなどのときのstdinのバッ...
-
charでの計算?
-
C言語のfor文です。 繰り返しの...
-
charからLPTSTRへの変換方法
-
文字列から空白を取り除きたい...
-
C言語の入力した文字を反転させ...
-
'const char *' 型は 'char *' ...
-
配列をnビットシフトする
-
str系関数を使わずに二つの文字...
-
int main()の・・・
-
atoi( ) の反対をやりたい
-
CStringをwchar_tに変換したい
-
c++ 文字列を入力して、一文字...
-
switch文で文字を比較すること...
-
干支のプログラム
-
3桁区切(コンマ)記号をつけ...
-
絶対パスからのファイル名の切...
-
間接操作のレベルとは
-
間接参照のレベルが異なっています
-
型変換
おすすめ情報