C言語(Winsock)からPerlへのデータ送信について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
poku

C言語(Winsock)からPerlへのデータ送信について

#1

投稿記事 by poku » 14年前

C言語(Winsock)からPerlへのデータ送信について

現在クライアントはC,C++、サーバーはPerlにてアプリケーションの作成をしています。

Winsockを利用してサーバーへ接続・切断する事はできました。
また、サーバーからクライアントへのデータ送信、受信についてもできたのですが、
クライアントからサーバーへのデータ送信がうまくいきません。

CからCへの通信プログラム作成経験はあるのですが、
CからPerlへの通信は初となるので悪戦苦闘しています。
よろしければ助言をいただければありがたいです。

-----------------------------------------------------------------
■クライアント
接続までの処理は特に変わった動作はさせていないので省略させていただきます。

send(serverSocket, "Hello", (int)strlen("Hello"), 0);

-----------------------------------------------------------------
■サーバー
複数の接続を処理できるようにしています。

use IO::Select;
use IO::Socket;

my $listener = new IO::Socket::INET(
Listen=>5,
LocalAddr=>'localhost',
LocalPort=>6666,
Proto=>'tcp',
Reuse=>1);

my $selector = new IO::Select( $listener );

while(my @ready = $selector->can_read) {

foreach my $fh (@ready) {
if($fh == $listener) {
# 新規接続
my $new = $listener->accept;
$selector->add($new);

print $new "Hello";
print "Connected.\n";
}
else {
# 入力の処理
my $input = <$fh>;

if(defined($input)){
#print "recv: ";
print $fh $input;
}
else{
$selector->remove($fh);
$fh->close;

print "Close.\n";
}
}
}
}

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: C言語(Winsock)からPerlへのデータ送信について

#2

投稿記事 by softya(ソフト屋) » 14年前

申し訳ないですが、マルチポストですので相互リンクをお願いします。
http://dixq.net/board/board.html

「C言語(Winsock)からPerlへのデータ送信について - Yahoo!知恵袋」
http://detail.chiebukuro.yahoo.co.jp/qa ... 1368056863
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

poku

Re: C言語(Winsock)からPerlへのデータ送信について

#3

投稿記事 by poku » 14年前

すみません、あちらの質問は取り消させていただきました。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: C言語(Winsock)からPerlへのデータ送信について

#4

投稿記事 by softya(ソフト屋) » 14年前

相互リンクしてもらえば消さなくても良かったのですが・・・。まぁ、済んだことなので今後気をつけてくださいね。

まず、見づらいのでcodeタグの利用をお願いします。Perlですよね?
あと、実際のパケットは確認されていますか? winsharkなどの情報があれば貼ってください。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

poku

Re: C言語(Winsock)からPerlへのデータ送信について

#5

投稿記事 by poku » 14年前

はい、以後気をつけます。

>>まず、見づらいのでcodeタグの利用をお願いします。Perlですよね?
codeタグですね。やってみます。
サーバーサイドはPerlで間違いありません。

>>あと、実際のパケットは確認されていますか? winsharkなどの情報があれば貼ってください。
winsharkをはじめて使うのでどれがどのログだか・・・すみません;;
サーバー(perl)からクライアント(C)への文字列送信に関しては無事送信できています。

poku

Re: C言語(Winsock)からPerlへのデータ送信について

#6

投稿記事 by poku » 14年前

すみません。
どうやらPerl側の複数処理にバグがあった模様です。
返信をいただきありがとうございました。

閉鎖

“C言語何でも質問掲示板” へ戻る