0
ACEを使用して基本的なクライアント/サーバプログラムを実装しようとしていますが、クライアントから送信してサーバから受信すると正常に動作しません。しかし、私が複雑さを増やしている、すなわち、複数の送信と受信がプログラムが機能していない。どんな助けもありがとうございます。ACE C++ send_nとrecv_nが期待どおりに動作しない
ここにクライアントコードがあります。
#include "ace/SOCK_Acceptor.h"
#include "ace/SOCK_Connector.h"
#include "ace/SOCK_Stream.h"
#include "iostream"
using namespace std;
int main(){
ACE_INET_Addr server(7128);
ACE_SOCK_Connector cli;
ACE_SOCK_Stream cstream;
if(cli.connect(cstream, server)==-1){perror("Error");}
char buff[100];
if(-1==cstream.recv_n(buff, 7)){printf("Error");}
cout<<buff<<endl;
cstream.send_n("FU", 3);
}
はここ
#include "ace/SOCK_Acceptor.h"
#include "ace/SOCK_Connector.h"
#include "ace/SOCK_Stream.h"
#include "iostream"
using namespace std;
int main(){
ACE_INET_Addr server(7128);
ACE_INET_Addr client;
ACE_SOCK_Acceptor cli(server);
ACE_SOCK_Stream cstream;
if(cli.accept(cstream, &client)==-1){perror("Error");}
char buff[100];
if(-1==cstream.send_n("RAND", 5)){printf("Error");}
cstream.recv_n(buff, 3);
}
ソケット上で整数値を送信するにはどうすればよいですか?文字配列に似ていません。あらかじめ定義された長さを知らずに送付したい。 – KingC
ソケット上に整数の長さの値を送信すると、別のワームを開くことができます。今のところ、サーバーのsend_n引数を( "RANDY!"、7)に変更してみてください。長さなどのより大きな問題については、my/Doug Schmidtの "C++ Network Programming、Volume 1"の第4章を参照してください。 –