复述,通信协议协议介绍

  

<强>复述的乒乓球

登录复述,cli客户端后,输入平,服务器会返回发出难闻的气味,来表示连接状况是完好的,也表示了服务器大体上是正常运转的。

复述,通信协议协议介绍

其中的第一行是我用码头工人启动的客户端,大家如果不是码头工人的话,自己正常启动复述,cli就行. .

平之后就会收到pong

<强>使用Java插座来实现复述的乒乓球

公共静态void main (String [] args){抛出异常//套接字   新的套接字(Socket套接字=?40.143.135.210", 6379);//oi流   OutputStream os=socket.getOutputStream ();   InputStream是=socket.getInputStream ();//向复述,服务器写   os.write(“平\ r \ n" .getBytes ());//从复述,服务器读,到字节中   byte[]字节=新字节[1024];   int len=is.read(字节);//字符串输出一下   system . out。println(新字符串(字节0 len));   }

为什么会有一个& # 39;+ & # 39;符号呢?,复述,cli里是没有这个加号的呀?

这个和通信协议有关,一会儿再介绍具体的含义。不过复述,cli只是把这个& # 39;+ & # 39;符号吞掉处理了,没显示出来罢了。

公共静态void main (String [] args){抛出异常//套接字   新的套接字(Socket套接字=?40.143.135.210", 6379);//oi流   OutputStream os=socket.getOutputStream ();   InputStream是=socket.getInputStream ();//向复述,服务器写   os.write(“平\ r \ n" .getBytes ());//从复述,服务器读,到字节中   byte[]字节=新字节[1024];   如果(is.read ()==& # 39; + & # 39;) {//字符串输出一下   int len=is.read(字节);   system . out。println(新字符串(字节0 len));   }//如果$//else if *//其他   }

<>强实现设置和获取

:

公共静态void main (String [] args){抛出异常//套接字   新的套接字(Socket套接字=?40.143.135.210", 6379);//oi流   OutputStream os=socket.getOutputStream ();   InputStream是=socket.getInputStream ();//向复述,服务器写   os.write(“你好world123 \ r \ n" .getBytes ());//从复述,服务器读,到字节中   byte[]字节=新字节[1024];   int len=is.read(字节);//字符串输出一下   system . out。println(新字符串(字节0 len));   }

:

公共静态void main (String [] args){抛出异常//套接字   新的套接字(Socket套接字=?40.143.135.310", 6379);//oi流   OutputStream os=socket.getOutputStream ();   InputStream是=socket.getInputStream ();//向复述,服务器写   os.write (“hello \ r \ n" .getBytes ());//从复述,服务器读,到字节中   byte[]字节=新字节[1024];   int len=is.read(字节);//字符串输出一下   system . out。println(新字符串(字节0 len));   }<强>解释上面例子中的+和美元符号

加号& # 39;+ & # 39;是来表示状态回复的,在复述,服务端向客户端返回状态信息时,就会先发送一个“+”符号来开的头。

接下来是相应的状态信息,例如& # 39;好# 39;什么的。

最后,要以& # 39;\ r \ n # 39;来结尾……咱们看一下代码就明白了

公共静态void main (String [] args){抛出异常//套接字   新的套接字(Socket套接字=?40.143.135.210", 6379);//oi流   OutputStream os=socket.getOutputStream ();   InputStream是=socket.getInputStream ();//向复述,服务器写   os.write(“你好world123 \ r \ n" .getBytes ());//从复述,服务器读,到字节中   byte[]字节=新字节[1024];   如果(is.read ()==& # 39; + & # 39;) {   System.out.println(“这是一个状态回复哦!怎么知道的呢?“+”号就表示& # 39;状态回复& # 39;了“);   int len=is.read(字节);   System.out.println(“回复的状态是:“+新的字符串(字节0 len));   }//大家想不想看看字节里面到底有几个字符吗?   System.out.println (Arrays.toString(字节));//输出的是(10 79年,75年,13日,0,0,0,0,0,....]//其中79 75是“好的”//其中13个十是“\ r \ n”//后面的一串0是表示没有后续内容,已经读完。   美元}

表示批量读取,一般格式是:$ & lt;数字祝辞,数字来表示正文的内容的字节数

复述,通信协议协议介绍

抓包后是这样的,客户端向服务端发送了“hello",服务端向客户端发送了蓝色的这两行。

复述,通信协议协议介绍