• 技术文章 >后端开发 >php教程

    Spring MVC代码实践之网站架构及演变

    零到壹度零到壹度2018-04-02 10:03:41原创810
    本篇文章给大家分享的是Spring MVC代码实践之网站架构及演变,内容挺不错的,希望可以帮助到有需要的朋友

    网站架构及其演变过程

    基础结构

    网络传输分解方式:

    640?

    海量数据的解决方案

    高并发的解决方案

    常见协议和标准

    TCP/IP 协议

    IP:查找地址,对应着国际互联网

    TCP:规范传输规则,对应着传输层

    TCP 在传输之前会进行三次沟通,称 “三次握手”,传完数据断开的时候要进行四次沟通,称 “四次挥手”。

    TCP 两个序号,三个标志位含义:

    640


    DNS 的设置

    DNS 解析

    参考域名设置,如下是我在腾讯云域名的设置

    640

    记录类型:

    A记录: 将域名指向一个IPv4地址(例如:8.8.8.8)

    CNAME:将域名指向另一个域名(例如 www.54tianzhisheng.cn)

    MX: 将域名指向邮件服务器地址

    TXT: 可任意填写,长度限制255,通常做SPF记录(反垃圾邮件)

    NS: 域名服务器记录,将子域名指定其他DNS服务器解析

    AAAA:将域名指向一个iPv6地址(例如:ff06:0:0:0:0:0:0:c3)

    SRV:记录提供特定服务的服务器(例如xmpp-server.tcp)

    显性URL:将域名301重定向到另一个地址

    隐性URL:类似显性URL,但是会隐藏真实目标地址

    主机记录:

    要解析 www.54tianzhisheng.cn,请填写 www。主机记录就是域名前缀,常见用法有:

    www: *解析后的域名为 www.54tianzhisheng.cn。

    *@: 直接解析主域名 54tianzhisheng.cn。

    *: 泛解析,匹配其他所有域名 *.54tianzhisheng.cn。

    mail: 将域名解析为 mail.54tianzhisheng.cn,通常用于解析邮箱服务器。

    二级域名: 如:abc.54tianzhisheng.cn,填写abc。

    手机网站: 如:m.54tianzhisheng.cn,填写m。


    Java 中 Socket 的用法

    普通 Soket 的用法

    Socket 分为 ServerSocket 和 Socket 两大类。

    ServerSocket 用于服务器端,可以通过 accept 方法监听请求,监听到请求后返回 Socket;

    Socket 用户具体完成数据传输,客户端直接使用 Socket 发送请求并传输数据。

    随便写了个单方面发送消息的 demo:

    客户端:

    1. import java.io.IOException;

    2. import java.io.OutputStream;

    3. import java.net.Socket;

    4. /**

    5. * Created by 10412 on 2017/5/2.

    6. * TCP客户端:

    7. ①:建立tcp的socket服务,最好明确具体的地址和端口。这个对象在创建时,就已经可以对指定ip和端口进行连接(三次握手)。

    8. ②:如果连接成功,就意味着通道建立了,socket流就已经产生了。只要获取到socket流中的读取流和写入流即可,只要通过getInputStream和getOutputStream就可以获取两个流对象。

    9. ③:关闭资源。

    10. */
      //单方面的输入!
      public class TcpClient
      {
          public static void main(String[] args) {
              try {
                  Socket s = new Socket("127.0.0.1", 9999);
                  OutputStream o = s.getOutputStream();
                  o.write("tcp sssss".getBytes());
                  s.close();
              } catch (IOException e) {
                  e.printStackTrace();
              }
          }
      }

    服务器端:

    1. import java.io.IOException;

    2. import java.io.InputStream;

    3. import java.net.ServerSocket;

    4. import java.net.Socket;

    5. /**
       * Created by 10412 on 2017/5/2.
       */
      public class TcpServer
      {
          public static void main(String[] args) {
              try {
                  ServerSocket ss = new ServerSocket(9999);//建立服务端的socket服务
                  Socket s = ss.accept();//获取客户端对象
                  String ip = s.getInetAddress().getHostAddress();
                  int port = s.getPort();
                  System.out.println(ip + " : " + port + " connected");
                  // 可以通过获取到的socket对象中的socket流和具体的客户端进行通讯。
                  InputStream ins = s.getInputStream();//读取客户端的数据,使用客户端对象的socket读取流
                  byte[] bytes = new byte[1024];
                  int len = ins.read(bytes);
                  String text = new String(bytes, 0, len);
                  System.out.println(text);
                  //关闭资源
                  s.close();
                  ss.close();
              } catch (IOException e) {
                  e.printStackTrace();
              }
          }
      }

    以上就是Spring MVC代码实践之网站架构及演变的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:Spring MVC 架构 网站
    上一篇:PHP规范之PSR规范 下一篇:php7.0 + phalcon 安装配置
    线上培训班

    相关文章推荐

    • 你知道这个PHP命令行选项解析库(pflag)吗?• 带你看懂PHP中的class定义类与成员属性方法• PHP中如何才能将时间日期格式化?怎么计算时间差?• 最详细的教你PHP时间戳与日期时间的转换• 一定搞得懂PHP中如何添加图片水印

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网