ソケットに関する質問があります。Cのソケットから受け取った文字列データを比較する
while(bytes = recv(sClient, cClientMessage, 599, 0)){
これは、それがcClientMessageにrecivesメッセージを置き、メッセージは常に「メッセージ」である:私はこのコードを持っています。どのように私はif(cClientMessage == "Message"){//do func}
のようなifステートメントを作った。今、このコードは私が望む機能をしません。私はこれがメッセージの権利を受け取っていないからだと思う。誰か助けてくれますか?そこにソケットエラーであり、あなたのコードは無限ループにつながる場合にrecvが非ゼロを返しますので、
while(bytes = recv(sClient, cClientMessage, 599, 0)){
これは間違っている:
これがなぜ投票されたのか分かりません。 –
受け入れられた解決策にはいくつかのバグがあり、そこにはいくつかのバグがありません。元の質問には現れません。以下の私の解決策を見てください。 (例:「Message5」を受け取った場合、それは一致してはならないことも分かります)。 –