• ベストアンサー

ソケット通信プログラムのヘッダファイルについて

失礼します。現在Visual Studio 2005でC言語を使ってソケット通信のプログラムを作ろうとしています。 複数のサイトでサンプルプログラムを見つけたのですが、<sys/socket.h>等のヘッダファイルをインクルードしています。 これらのヘッダファイルは自分で作成するのでしょうか? もしわかる方がいましたら教えてください。お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

winsock2.h を代わりに include してください。 見つけたサンプルがどのようなものかわかりませんが、 多少の改変が必要と思います。 http://www.katto.comm.waseda.ac.jp/~katto/Class/GazoTokuron/code/socket.html

asyu05
質問者

お礼

迅速な対応ありがとうございます。 確かに改変の必要はありそうですが、 作業が進みそうです。大変参考になりました。

関連するQ&A

  • C言語のヘッダーファイルについて

    宜しくお願い致します。 C言語について殆ど知識が無い為、変な質問でしたらすみません。 あるソースをビルドしてみたのですが、エラーが出てしまいます。 fatal error C1083: インクルード ファイルがオープンできません。'ヘッダーファイル名': No such file or directory このエラーが出るのは、以下のファイルです。 <sys/socket.h> <netdb.h> <netinet/in.h> <sys/param.h> <sys/uio.h> <unistd.h> これらのファイルは一体何処にあるのでしょうか。 どうすればこのエラーは消えるのでしょうか・・・

  • C言語のヘッダファイル

    前回のC言語のコンパイラの質問で、たくさんのご回答ありがとうございました。 おかげさまでコンパイラはなんとかなりそうですが、ひょっとしたらまた同じ質問を載せるかもしれません(^^; 今回はC言語のヘッダファイルを自分で作ってみたいんですが、よくわかりません。 microsoft visual studioのvisual c++付属のINCLUDEフォルダにある、stdio.hを開いてみたのですが、基本のprintf()やscanf()なども、どう定義されているか わからず終いでした。本などでもいまいち詳しく書いていなく(そう思うのは僕だけ?)、困っています。c言語のヘッダファイルとc++のヘッダファイルは やっぱり別ものなんでしょうか?ご回答おまちしております。

  • C言語でヘッダファイルを自作する

    C言語で#defineを用いてヘッダファイルを作成したのですが、 作成したコンパイルするときにヘッダファイルがオープンできません。 参考にしている資料があるのですが、そこに書かれているサンプルプログラムを 丸ごとコピーして作ったプログラムも同様にヘッダファイルがオープンできない というエラーが出るので、ヘッダファイルを定義する方法そのものが間違っていると 思うのですが、どこが間違っているのでしょうか? よろしければ正しい記述方法もお教えください。 #include <stdio.h> #if !defined SAMPLE_H #define SAMPLE_H wa(int a, int b) { return a+b; } #endif #include "sample.h" int main(){ printf("%d\n",wa(40,70)); return 0; } ヘッダファイルの定義の方法は他にもあるとは思いますが、 今回は#defineを用いた方法でお願いします。

  • c言語にてソケット通信

    linux環境のc言語にてソケット通信のプログラムを作成しています。 UDP通信にてヘッダを書き換える必要があるためrawソケットを使用し、複数ある ネットワークインターフェース(eth0、eth1など)を引数にして使用したいのですが、どうしたら使い分けできるので しょうか。

  • ヘッダファイルについて

    Linuxにおける #include <sys/socket.h> はwindowsにおける何ですか?c++6.0をつかってます。 どなたか知ってらっしゃる方よろしくお願いします。

  • ヘッダファイル? malloc.hとかは自分で足したり作ったりできるのでしょうか

    CmachineでC言語を勉強していて、メモリの確保までたどり着きました。 でも、プログラムを実行できないんです。調べたところ、malloc.hやmemory.hがCmachineのincludeフォルダに入っていませんでした。 char *b; b = (char *)malloc(sizeof(char)*200); とか書いても実行できませんよね・・・。Cmachineは勉強するのに便利だし、ヘッダファイルを追加できないのでしょうか。includeフォルダにテキストファイルで書いて入れればできそうなのですが。 ちなみに、Visual C++ Express Editionでも同じプログラムを実行したのですが、できませんでした。あれもヘッダファイルが無いとかの問題なのでしょうか。あれは操作が複雑で難しくてよくわかりません。 アドバイスやいい方法をご存知の方、教えてください!!

  • ヘッダファイルの有効範囲

    現在OpenGLを使ったプログラムを作っていて, hoge.hというヘッダファイルで #include <GL/glut.h> piyo.hというヘッダファイルには #include "hoge.h" そしてさらにhogehoge.hというヘッダファイルに #include "piyo.h" として, hogehoge.cppのソースファイルにて #include "hogehoge.h"してOpenGLの関数を使おうとしたら エラーが出ました. hogehoge.cppでhogehoge.hをインクルード →hogehoge.hでpiyo.hをインクルード →piyo.hでhoge.hをインクルード →hoge.hでGL/glut.hをインクルード というように,橋渡し的にインクルードはできないのでしょうか? これはこのような仕様なのでしょうか? それとも他に誤りがある可能性があるのでしょうか… 非常に困っております. ご回答お待ちしております.

  • Visual Studio2008でヘッダファイルが更新されない

    C++で、単純な計算プログラムを作成しています。 main.cとinit.hの2つのファイルで構成しています。2つとも、プロジェクトの親フォルダに入っています。 ヘッダファイルを変更して、ソリューションのリビルドをしても、ヘッダファイルの変更が反映されません。 構造体をヘッダファイルに記載していて、メンバを追加してリビルド後も反映されません。#defineでヘッダに記載していた定数を変数に変更しようとして、define文を消してリビルドしても、その値がずっと定数のままになってしまいます。 init.hファイルのファイル名をinit2.hに変更して、includeファイルも#include "init2.h"に書き換えてビルドすると反映されます。非常に不思議です。どこかVisual Studioの設定のような気がするのですが、環境設定の方法がわからず困っております。 どなたかご教示・ヒント・キーワード等よろしくお願いします。

  • ソケット通信(telnet)を行いたい

    現在、クライアントプログラムをアプレットで作ってます。 サーバ側はsocketで通信できる状態で、telnetで会話できます。 そこで質問なのですが、クライアント側でのsocket通信時の手順がわかりません。。 ソケットの入門書でわかったのはここまでです。 Socket s = new Socket("10.255.50.14", 23); でソケットを作るところはわかるのですが、そこからの手順がわかりません。。 ここから、connectとか使うのでしょうが、、 どなたかご存知の方がいらっしゃいましたらお教え願いたいと思います。

    • ベストアンサー
    • Java
  • ヘッダファイルの位置

    いままでLinux系やBSD系用に作っていた C言語のプログラムをSolaris10用に移植しているのですが、 似たようなヘッダファイルがあちこちにあって、 どこがどうなっているのかよくわからず・・・・ strtok_rという関数を使う箇所で、 コンパイルがうまく通らず、つまづいています。 manを見ると、string.hに入っていることになっているのですが、 /usr/sfw/include/string.h には入っておらず、 /usr/include/string.h には入っています。 おそらく、gccが、/usr/sfw/include/string.hのほうを見てしまうので、 #include <string.h> としても、strtok_rの宣言が読み込まれないのだとおもうのですが・・・ どのように解決したらよいものでしょうか??

専門家に質問してみよう