Linuxのマルチスレッドサーバー側のプログラミング学習muduo(5)エコー場合は、ROT13暗号化と交換可能です

1、反転ケースを達成するために、EchoServer ::のonMessage()を修正します

  • EchoServerを変更する::のonMessageを()
    MSG変換を受けた後
  for(unsigned int i = 0;i<msg.size();++i){
	if(msg[i] >= 'a' && msg[i] <= 'z'){
		msg[i] = char(msg[i] - 'a' + 'A');		
		continue;}
	else if(msg[i] >= 'A' && msg[i] <= 'Z'){
		msg[i] = char(msg[i] - 'A' + 'a');		
		continue;}
   }

図に示したソースコード。
ここに画像を挿入説明

  • 実行コード検証
    ターミナルプログラムで実行エコー。
# cd bin
# ./echo

さらに、コマンド端子を実行するには

# telnet localhost 2007

ここに画像を挿入説明

2、ROT13暗号化を達成するために、EchoServer ::のonMessage()を修正します

  for(unsigned int i = 0;i<msg.size();++i){
	if((msg[i] >= 'a' && msg[i] <= 'm')  || (msg[i] >= 'A' && msg[i] <= 'M')){
		msg[i] = char(msg[i]  + 13);		
		continue;}
	else if((msg[i] >= 'm' && msg[i] <= 'z') || (msg[i] >= 'M' && msg[i] <= 'Z')){
		msg[i] = char(msg[i]  - 13);		
		continue;}

ここに画像を挿入説明

  • 実行コード検証
    ターミナルプログラムで実行エコー。
# cd bin
# ./echo

さらに、コマンド端子を実行するには

# telnet localhost 2007

ここに画像を挿入説明

おすすめ

転載: blog.csdn.net/YoungSusie/article/details/90408515