1.认识网络基本模型

  2.基于TCP协议的网络通信

  3.基于UDP协议的网络通信

  4.基于TCP/IP建立的协议

  5.总结

一、网络的基本模型

 

  OSI七层网络模型

  应用层:面向用户的个各种协议

  表示层:信息语法及之间的关联

  会话层:不同机器之间建立

  传输层:TCP、IP协议

  网络层:路由器

  数据链路层:网桥,交换机

  物理层:网卡,网线,集线器,中继器,调制解调器

需要详细了解OIS网络模型的请往这走:  https://blog.csdn.net/yaopeng_2005/article/details/7064869

   TCP/IP模型则是将OIS的模型合并成4层。

  下面是OISTCP/IP模型的对比图

  Java学习--网络编程

Java学习--网络编程

二、基于TCP协议的网络编程

 

  首先我们要了解一下TCP协议。

  TCP协议是一种可靠的网络协议,它需要在通信双方建立socket从而形成网络连接。

  在TCP建立连接中经典的三次握手建立连接阶段可以用如下图表示:

  Java学习--网络编程

 

  有新兴趣的可以往这边走https://blog.csdn.net/whuslei/article/details/6667471

在计算机网络通信中,我们需要找到具体的程序,通常使用ip+端口来寻找的。

ip可以找到我们的计算机,而端口则可以定位到这台计算机的某个程序,端口与进程是没有关联的,端口是用16位表示的

端口号范围    0-65535  

接下来我们看一下TCP通信的模型图吧:

  Java学习--网络编程

 

套接字:用于主机的IP地址+主机的端口号作为TCP连接的端点,
着这种端点成为套接字。

   服务器端:ServerSocket类

   客户端:Socket类

废话不多说,我们先来搭建一个服务器端和客户端

package com.demo.tcp;

import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

/**
 * 服务器端
 * @author Administrator
 *
 */
public class ServerDemo {
    private ServerSocket server;
    private Socket socket;
    private int port = 8888;
    //构造函数中初始化服务器
    public ServerDemo() {
        // TODO Auto-generated constructor stub
        try {
            //这里利用构造方法初始化服务器,我这里只传了一个参数,所以本机相当于服务器
            server = new ServerSocket(port);
            System.out.println("服务器初始化完成...");
        } catch (IOException e) {
            // TODO Auto-generated catch block
            System.out.println("服务器初始化失败");
        }
    }
    //服务器需要做的事
    public void server(){
        //因为服务器不能关,所以需要写个死循环来监听客户端的链接
        while(true){
            try {
                //监听客户端的链接,客户端链接进来程序才会继续执行
                socket = server.accept();
                System.out.println("客户端:"+socket);
                
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
    
    public static void main(String[] args) {
        //启动服务器
        new ServerDemo().server();
    }
}
服务器端

相关文章: