网络编程基础语法

发布于:2024-06-27 ⋅ 阅读:(191) ⋅ 点赞:(0)

网络编程
    Java.net.*包下面提供了网络编程的解决方案
    基本架构
        C/S架构
            Client客户端
                需要程序员开发
                用户需要安装
            Server服务端
                需要程序员开发实现
        B/S架构
            Browser浏览器
                不需要程序员开发
                用户需要安装浏览器
            Server服务端
                需要程序员开发实现
                    请求链接:http://127.0.0.0:8080
                     ps.println("Http/1.1 200 OK");
 ps.println("Content-Type:text/html;charset=UTF-8");
 ps.println();
 ps.println("<div style='color:red;font-size:240px;text-align:cent'>黑马程序员666");
 ps.close();
 socket.close();
    网络通信三要素
        IP
            设备在网络中的地址,是唯一标识
                IPv4
                    32位
                IPv6
                    128位
                IP域名
                    域名可以转成IP
            IP常用命令
                ipconfig查看本机IP地址
                ping IP地址:减产网络是否连通
                InetAddress代表IP地址
                    方法:
                        getLocalHost()获取本机IP,会以一个inetAddress的对象返回
                        getByName(ip地址或者域名)fanhuiyig1inetAddress对象
                        getHostName()获取该IP地址对象对应的主机名
                        getHostAddress()获取该IP地址对象中的IP地址信息
                        isReachable(指定毫秒)判断主机与该IP对应的主机在指定毫秒内是否能连通
        端口
            应用程序在设备中的唯一标识
                周知端口:0~1023
                注册端口:1024~49151
                动态端口:49152~65535
                注意:我们自己开发的程序一般选择使用注册端口,且一个设备中不能出项两个程序的端口号一样,否则出错
        协议
            连接数据在网络中传输的规则
                UDP用户数据报协议
                    特点:无连接、不可靠通信,发送端每次把要发送的数据限制在64KB内
                    Java提供了一个DatagramSocket类来实现UDP通信
                        构造方法
                            DatagramSocket()用于创建客户端服务端
                            DatagramSocket(指定端口号)
                            DatagramPacket()创建发出去的数据包对象
                            DatagramPacket()创建用来接收数据的数据包
                        方法
                            send(数据包)
                            receive(使用数据包接数据)
                            getLength(实际接收到多少个字节)
                    通信效率高~语音通话,视频通话
                TCP传输控制协议
                    面向连接,可靠通信
                    Java提供了一个Socket类来实现TCP通信
                        构造方法
                            Socket(指定的服务器IP,或者端口号,请求连接)
                            ServerSocket()为服务端程序注册端口
                        方法
                            OutputStream()获得字节输出流对象
                            getInputStream()获得字节输入流对象
                            ServerSocket服务端对应的方法:accept()主色等待客户端的链接请求,一旦与某个客户端连接成功,则会返回负端这边的Socket对象
                    三次握手建立可靠连接,传输数据进行确认,四次挥手断开连接(全双工模式)
                    通信效率不高,适合网页文件下载支付等
                    端口转发——实现群聊
                        客户端一发过来的消息分发个i其他的客户端管道(端口转发)
                        问题1:不知道有多少客户端管道在线-——提供一个Socket集合来存储客户端管道

==============================思维导图=================================


网站公告

今日签到

点亮在社区的每一天
去签到