• ベストアンサー

処理時間

C言語でIPプログラム開発をしています。 socketをつくって他のクライアントとのデータグラムAPを作成しました。 そこでデータを送信し始めてから終わりまでにかかった時間とデータ量を計測できる関数またはサンプルプログラムはどこかございませんでしょうか? バックグランドはwindowsです。 宜しくお願いします。

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

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1
参考URL:
http://www.okweb.ne.jp/kotaeru.php3?q=298412
全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • UNIX INETDを使用して、クライアントAPの作成方法?

    UNIXのINETDサービスを使用して、UNIX側にファイル送信 を行おうとしています。 クライアント側ではWinStockにてUNIX側のInetdサービス に設定したAPにて受信しようと考えています。 クライアント側のAPではINETDに設定されたAPのポートで 接続を行うことで、UNIX側のAPは起動するのでしょうか? できればサンプルプログラムがあれば教えてください。 (クライアント側(Windows2000-C言語)UNIXサーバ(C言語))です。

  • SocketのSend関数でのCLOSEの検知 [Linux]

    Linux環境でSocket(dm:PF_INET,type:SOCK_STREAM)を使用しての、 Client&ServerプログラムをCで作成しているのですが、 そこでのSend関数の使い方についてご助力ください。 Client&Serverプログラムは下記のような動きをします。 [Client] ServerへConnectした後、複数のDataを数秒間隔でServerへ 送信(send関数使用)します。受信(recvやread関数等)は、 一切行いません。 [Server] ClientからのConnectを受け付けた後、Clientから受信(recv関数 使用)したDataを標準出力へ表示する。送信(sendやwrite関数 等)は、一切行いません。 さて、ここでもしClientプログラムがCloseを発行したり、マシン DOWN等の理由でConnectionが切断され、Server側のSocketが CLOSE_WAIT状態になった場合、Bufferに溜まっていたDataを すべて受けきった後、recv関数が0を返してくれるので 相手が終了したことがわかります。 ここからが質問のMainです。 では、もしServerプログラムがCloseを発行したり、マシン DOWN等の理由でConnectionが切断され、Client側のSocketが CLOSE_WAIT状態になっても、CLOSE_WAIT直後のsend関数が なぜか正常に処理されてしまいます。無論このDataは、 Server側は受け取りません。この次のsend関数実行時に EPIPEが返ってくるので、ここでようやくSocketが切断された ことが判ります。 これを何とかCLOSE_WAIT状態になった直後から、send関数で 切断を検知できるようにできないでしょうか。 よろしくお願いします。 以上

  • UDPを使って帯域測定プログラムを作りたいのですが

    Java eclipse3.5を使っています。 UDP通信を使って帯域測定プログラムを作りたいと思っています。 動作の流れは、 1.クライアント側で送信データ(1MB,5MB,10MBのバイト)を作成し、それをサーバに送信する。 2.サーバ側では、送られた各データを受け取る(読み取る?)時間をそれぞれ計測し、計測時間をクライアント側に送信する。 3.クライアント側で、送信データ÷計測時間で通信速度を計算する。 4.それを表示する。 という感じにしたいと考えています。 頭では、こうしたいという構造はあるのですが、プログラムを書くとなると、どう書けばよいか分かりません。 どなたか、アドバイスをいただけないでしょうか?

    • ベストアンサー
    • Java
  • Javaの断続的なSocket通信について

    Java標準のSocketクラスで通信プログラムを作ろうと思うのですが、インターネットで散見できるサンプルはだいたい単一のデータを送ってそのままプログラムを終わらせてしまうため、繰り返しデータを送る場合のプログラミングの方法がいまいちわかりません。 同一の接続先に断続的にデータを送信する場合は、新しいデータごとにSocketクラスを作り直さないといけないのでしょうか。それとも既存のSocketクラスのメソッドを使ってループ内で送信の待機をさせるのでしょうか。

  • Winsockの通信処理にてファイル転送方法?

    環境:Windows2000とUNIXサーバ 開発:VisualStadioVer6.0 言語:C言語 やりたいこと:    クライアントからサーバにファイル送信を行う。 ただし、FTP通信を使わないで、別ポートにて、Winsockの send等でFTPもどきのファイル送信を行いたい。 ソケット通信はデータ送信なのは知っているのですが、 どうしても実現したいので、知ってる方は教えてください。

  • Socket通信で、通信終了のイベントが発生しない

    クライアント(Windows)とサーバ(Unix)とSocket通信をするアプリを作っています。処理内容はクライアントのデータファイルをサーバに送信(アップデイト)し、サーバ側でデータを解析し、その結果を印刷するという手順です。 WinSockを使って、送信そのものはうまくいくのですが、サーバでデータを解析し結果を印刷するのに時間がかかり(10秒以上)、その間は送信終了のイベントが発生しません。これはサーバ側での処理を exec関数とwait関数で行っているので、正しい事態なのですが、データの送信が終わったら後はサーバ側で勝手にやって欲しいのです。サーバでの処理を system関数に置換えたり、バックグランド処理にしてもやはり処理が終わるまで送信終了のイベントが発生しません。何かいい方法をお教えください。

  • ソケットでのデータ送受信について教えてください

    はじめまして。 Perlでのソケット通信プログラムで質問があります。 現在ソケットで通信を行うテストプログラムを作っているのですが、 クライアントからサーバへの片方向送信は出来るのですが、 クライアントからデータ受信後、サーバからクライアントへ応答を 返す処理が上手くいきません。 私としては、クライアントとサーバの処理を逆にすればよいだけかな と思っているのですが認識違いでしょうか? 宜しくお願いします。 環境 OS:Linux 言語:Perl5.8 ■上手くいく場合(かなり省略します。ポイントだけ) サーバ側 $client=accept(C_SOCKET, P_SOCKET); while(<C_SOCKET>){ printf("%s",$_); #受信データ } クライアント側 socket (SOCKET, PF_INET, SOCK_STREAM, 0); connect(SOCKET, pack_sockaddr_in(9000,$ipaddr_bin)); print SOCKET "Test Data!!\n"; →サーバ側端末にTest Data!!と表示 ■送受信しようとしてダメなもの サーバ側 $client=accept(C_SOCKET, P_SOCKET); while(<C_SOCKET>){ printf("%s",$_); #受信データ } print C_SOCKET "Return Data!!\n"; クライアント側 socket (SOCKET, PF_INET, SOCK_STREAM, 0); connect(SOCKET, pack_sockaddr_in(9000,$ipaddr_bin)); print SOCKET "Test Data!!\n"; while(<SOCKET>){ printf("%s",$_); #応答データ } →サーバ側にはTest Data!!すら表示されない。  もちろんクライアント側にも。

    • ベストアンサー
    • Perl
  • C言語で一定時間実行し、時間が経過したら処理を終わらせるには?

    今C言語でOpenGLを用いて図形を表示させるプログラムを書いています。 一定時間(例えば5秒)だけ画像を表示させ、 時間が過ぎらたらその画像をけし、 何も描いてないウィンドウだけ表示させるようにさせたいのですが、 プログラミングは全くの初心者で、どうすればいいのかわからず 困っています。 どなたか教えていただけないでしょうか。 出来れば関数名だけでなく、サンプルプログラムなどで 教えていただければ幸いです。 すみません、宜しくお願いします。

  • PHP バックグラウンド処理

    apache1.3系+PHPで大量のメール送信プログラムを作成していますが、ある動きで困っております。 特定のフォームにて件名と本文を入力し、submitすることでsystem関数を利用して別のプログラムをバックグラウンドで動かそうとしてますが、メール送信前にコメントを表示したいのです。 しかし、表示をする前に後に記述しているsystem関数が読み込まれるようで、system関数の処理が終わると、そのコメントが表示されるようになってしまってます。 例) // ここでコメントを表示 print<<<HTML <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"> <title>WEBMAIL</title> </head> 送信を受付ました </body> </html> HTML; // メール送信プログラムをバックグラウンドで system("/usr/local/bin/php webmail2.php $subject $address $data & "); 実際に100件程のアドレスに向けて送信しましたが、送信処理は正常に動作しているようですがバックグラウンドで動いている気配がありません。 また、system関数の処理の前にコメントを表示したいのですが、実際に表示されるのは配送処理が終わってからとなっています。 system("/usr/local/bin/php webmail2.php $subject $address $data >/dev/null & "); ↑ これですと変数が受け渡しされませんでした。 先にコメントを表示するにはどうしたらいいのでしょうか?

    • ベストアンサー
    • PHP
  • フック関数を使って情報流出防止

    例えばあるファイルやデータが送信される際に、どのファイルが送信されようとしているかを表示させ警告を出して、そこで通信を止めるプログラムを作ろうと思っています。これをうまく使えば、望まない情報流出を防ぐことが出来るものになります。 ですが、実際にプログラムにはどのように書いたらいいのかよくわかりません。vc++を使って開発しようとしているのですが、まだ使い初めでよく分かっていません。フック関数を使うことまでは分かったのですが、具体的にどのようにやったら良いのか分かりません。 http://ruffnex.oc.to/kenji/text/api_hook/ のサイトを参考にしています。SetWindowsHookExを使いopen関数をフックしたらどうか?という意見をもらったのですが、よく仕組みが分かっていません。データを送信するときは、いったん何かのファイルを開いて書き込んでから送信されるものなんでしょうか? この↑サイトのサンプルを参考にして作り上げることは可能でしょうか?また具体的にどのようにやったら出来るかお分かりの方いましたら教えて下さい。 まだプログラム初心者なもので、よく分かっていないことだらけで申し訳ありません。ちなみに開発環境はvc++2003、windowsXPです。