2017-12-31 193 views
-3

私はboost :: asioを使ってチャットサーバーを作りたいと思っていました。プログラムがより複雑で難しくなって読んだら、同じクライアントとサーバー側でいくつかのソケットを使うことができるのだろうかと思いました。マルチソケットはブーストアシオ?

たとえば、私のサーバー側では、私はintstringという変数を持っていて、お互いに影響を及ぼさない別のソケットで送信したいと思っています。

うーん... int変数がsocket1stringを介して送信されるには、socket2ています。ソケットがintから "来る"ことを "知って"いるべきクライアント側と同じことがあり、そのうちのどれもstringです。これが可能なら、私はいくつかの例を見て非常にうれしいでしょう:)

ありがとうございます!

+0

私はすべてで、それはあなたがやろうとしているが何であるかわからないんだけど、私はそれが何であれ、それは本当に悪いアイデアだ、というかなり確信しています:( –

答えて

0

プログラムは自分自身があなたが少しをリファクタリングする場合があります

を読み取るために、より複雑で困難を取得します。大規模なコードであっても、読みやすく理解しやすいものでなければなりません。

私はint変数とstring変数を持っていて、それらを互いに影響を及ぼさない別のソケットに送りたいと思っています。

送信するデータタイプごとに新しいソケットを作成しないでください。メッセージに適切なヘッダーを追加し、受信したデータ型をエラーチェックで解析します。例えば

(簡体字の場合):

std::string tx = "12345678Test"; 

std::stringstream ss(tx); 
int num; 
ss >> num; 

std::string s; 
ss >> s;