• ベストアンサー

c言語ネットワークプログラミングのAPIを乗せているwebページないですか?

現在私はC言語でソケット通信を使って サーバとクライアントでメッセージのやり取りをおこなってみたいと思っているのですが どのライブラリのどの関数を使って通信できるのか全くわかりません。 (例えば、readの返り値ってなにを返すんだろう?とか) できればunix上(SunOS)でのc言語ネットワークプログラミングに関する APIが乗っているURLを教えていただけないでしょうか?(できれば日本語のwebページがいいです。)

  • youhi
  • お礼率83% (20/24)

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

  • ベストアンサー
回答No.2

ソケットがらみの基本的な関数は、システムコールであり、標準の Cライブラリ libc に含まれています。read() はファイルやソケッ トからデータを読むもので、返り値は読めたバイト数です。このへ んは、man で調べた方が確実でしょう。 とはいえ、何かサンプルがないと、やっぱりネットワークAPIはわ かりづらいので、参考URLをあげておきます。

参考URL:
http://www.jaist.ac.jp/~hikichi/c_net.html
youhi
質問者

お礼

ご回答ありがとうございます。 とても助かりました。

その他の回答 (1)

  • youking
  • ベストアンサー率12% (1/8)
回答No.1
参考URL:
http://www.kt.rim.or.jp/~ksk/sock-faq/unix-socket-faq-ja.html
youhi
質問者

お礼

すばやいご回答有難うございます。 参考にさせていただきます。

関連するQ&A

  • C言語でチャットプログラミングを・・・

    C言語(unix環境)でチャットプログラミングを作りたいのですが、まずは、TCP/IPによるマルチクライアントで簡単なメッセージのやりとりができるプログラムを練習として作りたいと考えています。 そこでサーバにクライアントからメッセージが届いた時点で全クライアントにメッセージを送信(write)し、逐次更新されるようにしたいのですが、クライアント側で常にread関数を呼び出すのは非常に不格好だし、メッセージを入力するといった他の処理ができなくなると思うのです。 何か方法はありますでしょうか? なにぶんネットワークプログラミングは始めたばかりですので初心者向けの解説をお願いします。

  • プログラミング言語のAPI

    プログラミング言語の『API』にあたるものって具体的には何なのでしょうか? 例えば,C言語の場合『API』にあたるのはprintfやscanfなどの『標準関数全体』という解釈で合っているのでしょうか? また,ライブラリとAPIの関係についても教えていただけると嬉しいです. 読んだ本の中で少し触れられていたのですが,表現が曖昧であまりよく分かりませんでした・・・.

  • ネットワークプログラミングについて

    C言語のネットワークプログラミングについて質問です。 UDPで通信を行う際に、daytimeクライアントとサーバの変更する必要がある所はどこになるのでしょうか?  また、どのようなヘッダや関数になるのでしょうか?

  • C言語でWin32API

    C言語を使ってWin32APIを呼び出すような、Windowsプログラミングを始めたいんですが、何かよい本やサイトはご存知ないでしょうか。 Visual C++6.0はあるんで、それを使えばいいと思うんです。 C言語はわかるんですが、Windowsプログラミングに関する知識はほとんどないので、ごく基本的なことから知りたいんです。 WinMain関数というのを書くようなんですが、その書き方すら知りません。  スケルトン(出来れば、それよりもっと基本的なこと)から書いてあるようなものです。

  • Cでネットワークプログラミングをするには?

    C++とwin32APIを勉強中の者です。 早速質問なのですが、C言語でネットワークプログラミングを行うにはどうしたらいいのでしょうか? 通信にも色々あるのでしょうが、例えばサーバーに接続したりだとか、PC同士で通信(遠距離や近距離)を行ったりだとかするソフトはどのように実装されているのでしょうか。場合によっては自分でサーバーを開設しなければならないといったこともあるんですかね? というのも将来作りたいと思っているソフトがあって、そのソフトがサーバーから情報を取得したりPC同士での通信(電話みたいなことをしたい)を行うようなプログラムなのですが、通信についてはまったくの素人で、何から勉強したらいいのか分からない状態です。 主な通信にはこんな技術が使われていて、それをプログラムで使うにはこんな知識が必要、みたいなことを教えていただけたら幸いです。 回答よろしくお願いします。

  • ネットワークプログラミングについて

    もしかしたらカテ違いかもしれません もしそうだったらすいません 僕は今ネットワークプログラミングの勉強をしています。 c言語で行なっています 使っている環境はUNIXです ソケットプログラミングをしています。 今POP3サーバへアクセスするプログラムを書いています。 ここで質問です ドメインネームからIPアドレスを参照して サーバへつなぐ場合 hostent構造体へホスト情報を格納して そのメンバである *h_addr_list[] にアドレスが格納されているらしい までは調べました。 複数のアドレスが記憶できるようになっているみたいですが それはなぜなのでしょう? また実際にアドレスを格納した時、複数のアドレスが入っている場合はどれを使って通信すれば良いのでしょうか? よろしくおねがいします

  • ソケット通信でチャットプログラム(unix c言語)

    c言語のソケット通信でチャットプログラムを作り中です 仕様:あるクライアントからメッセージがサーバに送信された時点でサーバは接続されたいる全てのクライアントにメッセージを送信する。 以下のようにクライアントからの接続(accept)がある度に、その返り値であるファイルディスクリプタにに対するreadと全クライアントに対するwriteの処理を行うchild関数をforkで起動します。これだとforkが起動した時点での全てのファイルディスクリプタ(接続されている全クライアント)の情報をchild関数に渡せますが、それ以降増え続けていくファイルディスクリプタの情報をchild関数に渡せないので、最初の方に接続したクライアントからのメッセージをそれ以降接続した他のクライアントに送信できないという状態です。 main() {   socket()   bind()   listen()     while(1){       accept()       if(fork()==0) {        child()       }     } } child() {   select()   if(FD_ISSET()) {     read()     write()   } } ※forkやソケット通信に関してかなり初心者なので、ソースや説明分が意味不明かもしれませんがよろしくお願いします。

  • C#プログラミングに役立つAPIの本???

    もっぱらC#を使用しています C言語のプログラム遺産の活用等には全く縁の無い私です だから今後もC#だけで行こうと思っております VC++などに移る気などサラサラありません それ故に、念のために ・・・・・ 実は内心では心配だから、APIだけは勉強しておこうと思って教科書を探しました 日経ソストウエアが出版している『APIで学ぶWINDOWS』¥2095を購入しましたが的外れ! ウインドウズの解説本でありプログラミングには役立ちません 更にC#プログラミングに役立つAPIの本を探したのですが、適当なものが見つかりません ご存知でしたら教えてください、お願い申し上げます

  • C言語より後に開発されたプログラミング言語は

    C言語を基にして開発されたのでしょうか? C++,C#はもちろんそうですが、Java、PHP、JavaScriptなどもそうなのでしょうか?と言うのも、C言語の関数とこれらのプログラミング言語の関数がかなり似ているところ(共通しているものも)があるからです。また、Excelの関数とも似ているのですが、これらのプログラミング言語と何か関係があるのでしょうか。

  • C言語についてどうしてもわからない疑問

    プログラミング初心者です。 C言語を勉強中に疑問に思ったことが2つあります。 まず1つ目。 C言語以外のプログラミング言語、例えばjavaとかC#とかjsとかpythonとかrubyとかPHPとか、には開発者にとって便利なライブラリとかフレームワーク(僕にはこの2つの明確な違いがわかりません。が、どちらも「開発者が定義しなくてもよい関数やオブジェクトの集合」という認識があります)がありますよね。 そのおかげで色んな人達がプログラミングし易くなりました。 ネット(はてぶのホットエントリとか)でも「馬鹿な俺がプログラミングを勉強して〇〇を作った」といった記事をよく目にします。 でも「C言語を使って」というのは聞いたことがありません。 そもそも、C言語はそいういったライブラリやフレームワークが少ないように感じます。 検索してもrailsとかjqueryのようなフレームワーク(ライブラリ?)は見つかりません。 これが無かったらプログラムなんて作れないのでは? しかし、世間にはC言語で作られたプログラムが多いのもまた事実。 C言語ではいったいどのように開発が行われているのか教えてください。 2つ目 unixとかlinuxといったOSはC言語で書かれている聞いたことがあります。 しかし、プログラムの開発は「コードを書く→コンパイル(→デバッグ)→実行」という流れですよね。 ではOSを開発するときに、そのコードをどうやってコンパイルするのでしょうか? コンパイラはOSの上に立っているとするなら、OSがない状態でコンパイラはどこに立てばいいのか。 そこがわかりません。 誰かこの2つの疑問に答えてください。 お願いします。