栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

7月9日Java学习(网络编程)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

7月9日Java学习(网络编程)

通信协议模型

参考白皮书

三次握手和四次挥手

1.TCP协议通过三次握手建立连接,通过四次挥手断开连接,UDP协议没有

2.TCP协议如果握手失败,是不会发生数据包的,UDP协议直接就发

 

TCP和UDP的区别

1.TCP和UDP都属于传输层的协议

2.TCP是可靠的,UDP是不可靠的

3.TCP有拥塞机制,UDP没有

        拥塞机制指的是根据当前网络状况动态调整传输速率

4.TCP有重传机制,UDP没有

        如果TCP协议在传输过程中发生了丢包,TCP会重传保证数据包的完整性

单工、半双工、全双工

         单工:简单的说就是一方只能发信息,另一方则只能收信息,通信是单向的。

         半双工:比单工先进一点,就是双方都能发信息,但同一时间则只能一方发信息。

         全双工:比半双工再先进一点,就是双方不仅都能发信息,而且能够同时发送。

长连接和短连接

推送消息是长连接

需要自己刷新接收的是短连接

CS架构和BS架构

CS        Client - Server        客户端服务器架构模型

        CS架构的软件需要安装,客户端和服务端都需要更新

BS        Browser - Server        浏览器服务器架构模型

        BS架构的软件不需要安装,只需要一个浏览器即可,更新的时候只需要更新服务端,不需要更新客户端

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

public class Demo01 {
    public static void main(String[] args) {
        ServerSocket server = null;
        try {
            System.out.println("服务端启动成功,监听8080端口,等待客户端接入");
            server = new ServerSocket(8080);
            Socket socket = server.accept();
            System.out.println("客户端接入成功");
            InputStream is = socket.getInputStream();
            byte[] data = new byte[1024];
            int n = is.read(data);
            String str = new String(data,0,n);
            System.out.println("客户端" + str);
            OutputStream os = socket.getOutputStream();
            String back = "welcome";
            os.write(back.getBytes());
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            try {
                server.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;

public class Demo02 {
    public static void main(String[] args) {
        Socket socket = null;
        try {
            socket = new Socket("192.168.121.1",8080);
            OutputStream os = socket.getOutputStream();
            String send = "Hello";
            os.write(send.getBytes());
            InputStream is = socket.getInputStream();
            byte[] data = new  byte[1024];
            int n = is.read(data);
            String str = new String(data,0,n);
            System.out.println("服务端" +str);
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            try {
                socket.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

 

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1009280.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号