• 締切済み

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

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

みんなの回答

noname#88772
noname#88772
回答No.1

 こんにちは。  質問者さんのネットワークに対する知識がどの程度か把握できません。  まずネットワークに関する知識についての理解度を教えてください。  以下の項目についてどの程度の理解がありますでしょうか。 最低でも以下の項目をキチンと理解していないとプログラムが作成できません。  ・TCP/IP  ・IPアドレス  ・ポート  ・UDPによる通信におけるクライアントとサーバとのやりとり  以上の補足をよろしくお願いいたします。  プログラム設計やソースへの実装はその後の話です。

関連するQ&A

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

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

  • ネットワークプログラミングにおいてsendto()ってブロックするの??

    C言語でネットワークプログラミング(ストリーミングのプログラムを作成しました) UDPを使用したプログラミングなのですが、サーバ側でデータを送るのが途中でいったん停止することがあるんです。数秒停止してまた送る。 もしクライアント側で何か処理が止まったときに、 ソケットのsendto(。。。。。)がブロックするのであればそのエラーもなっとくいくのですが。 sendtoってブロックするのでしょうか?? recvfrom()はソケットディスクリプタに応答があるまでブロックするのはわかるのですが・・・。sendtoはお構いなしに送信するんだったと思うのですが。 環境はサーバ、クライアントマシンともにlinux7.2です。

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

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

  • ネットワークプログラミングを勉強しようとしているのですが。

    プログラミング初心者です。 C言語でWindowsプログラミングを一応学び、それを利用してゲームを作るのと平行してネットワークも勉強しようと思っています。 使おうとしている書籍は"UNIXネットワークプログラミング入門"という書籍で、初めてネットワークプログラミングを勉強しようとしています。 そこでその本の第二章(p32)のチャットプログラムを動作させようとしたのですがうまくできません。ソースコードはhttp://www.gihyo.co.jp/books/support.php/4-7741-1754-4 に置いてあるフォルダのchap2というフォルダにあるコードです。 まずcygwinでサーバのプログラムを動作させてから、cygwinをもう一つ起動させてそちらでクライアントのプログラムを動作させればいいと書いてあると「思う」のですが、動作しません。クライアントのプログラムを動作させても「gethostbyname: Operation not permitted」というメッセージが出て終了してしまいます。 もし、同じ本を使ったことがある方、またはそうでなくても超初心者がしてしまうような間違いや手順足らずなことなどに心当たりがあれば教えて下さい。

  • ネットワークプログラミングを勉強しようとしているのですが。

    プログラミング初心者です。 C言語でWindowsプログラミングを一応学び、それを利用してゲームを作るのと平行してネットワークも勉強しようと思っています。 使おうとしている書籍は"UNIXネットワークプログラミング入門"という書籍で、初めてネットワークプログラミングを勉強しようとしています。 そこでその本の第二章(p32)のチャットプログラムを動作させようとしたのですがうまくできません。ソースコードは​http://www.gihyo.co.jp/books/support.php/4-7741-1754-4​ に置いてあるフォルダのchap2というフォルダにあるコードです。 まずcygwinでサーバのプログラムを動作させてから、cygwinをもう一つ起動させてそちらでクライアントのプログラムを動作させればいいと書いてあると「思う」のですが、動作しません。クライアントのプログラムを動作させても「gethostbyname: Operation not permitted」というメッセージが出て終了してしまいます。 もし、同じ本を使ったことがある方、またはそうでなくても超初心者がしてしまうような間違いや手順足らずなことなどに心当たりがあれば教えて下さい。

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

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

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

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

  • ネットワークプログラミング(IPヘッダの編集)

    socket関数を使用したネットワークプログラミングにて、 IPヘッダの編集はできるのでしょうか? 宜しく御願いします。

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

    過去ログを検索してみて質問:socの秀和システム出版の「Javaネットワークプログラミング」に載っているクライアント・サーバ型のチャットプログラムについての質問がありました。 私も同じ本で学習しているのですが、過去ログの方の例では1台で実行した場合、2台でネットワーク経由で実行した場合両方とも成功していました。 このプログラムをコンパイルして実行してみてもサーバーに接続できませんと出ます。このプログラムを実行するにはどのような環境、コマンド等が必要でしょうか? 私が試している環境はJ2SDKでWindowXP一台でコマンドプロンプトでchatsv.javaとchatcl.java(アプレット)の両方をコンパイルし、chatsvを実行。chatclはHTMLファイルを作り、それを実行するとIPアドレスを指定画面が出るので指定します。通信はSocket通信です。WindowsのIPアドレス(自分)にはpingもしっかり通っています。 あと2台でネットワークを介した起動では、クライアントには上記のWindowsを、fedora core3を使ってサーバープログラムを起動。こちらも同様にchatsvを実行し、apacheにchatcl.htmlを組み込んでいます。windos側、fedora側から実行しても接続できません。こちらもwindowsからIPアドレスを直接指定するとチャットアプレットは見ることはできますし、pingも通ります。 長くなってしまいましたが、よろしくお願いいたします。

    • ベストアンサー
    • Java
  • C言語におけるIPv6ネットワークプログラミングについて

    はじめまして。IPv6について勉強中の者です。 今、C言語のIPv6ネットワークプログラミングの勉強しています。 まずは、簡単なプログラムを利用してみようと思い、本やインターネ ットに載っていたサンプルプログラムを持ってきて、実行してみまし た。 コンパイルをしてもエラーは出ないのですが、実行しても画面に何も 出てきません。 原因が分からなくて困っています。誰か分かる方がいらっしゃれば、 是非教えてください。 実験環境は以下のとおりです。 -- ホストA -- 【OS】fedora 8 【IPv6アドレス】リンクローカルアドレス 【プログラム名】server.c -- ホストB -- 【OS】fedora 9 【IPv6アドレス】リンクローカルアドレス 【プログラム名】client.c ホストA、ホストBは同一ネットワーク内で使用しています。ping6 でお互いに通信ができている確認をとれている状態です。 ホストAでserver.cを実行すると、クライアントからのアクセスを 待っているのですが、ホストBでclient.cを実行しても、どちらの コンピュータの画面も変化はありません。 プログラムは正しくできていると思います。 大変少ない情報ですが、何か原因が分かる方がいらっしゃれば、教え てください。 また、何でも良いのでアドバイスがあれば、よろしくお願いします。

専門家に質問してみよう