Java教程

网络编程基本详情

本文主要是介绍网络编程基本详情,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

                                                                        

网络编程
    概述
        在网络通信协议下,不同计算机上运行的程序,可以进行数据传输
    三要素
        Ip地址
            设备在网络中的地址是唯一标识
            常用命令
                ipconfig 常看本机IP地址
                ping 检查网络是否连通
            127.0.0.1 :表示本机IP,一般用来测试用的
        端口
            应用程序在设备中唯一的标识;  一个端口只能被一个应用程序使用
        协议
            数据在网络中传输的规则,常见的协议有UDP和TCP协议
            UDP :不用连接;速度快,不安全,易丢失数字据
                三种通信 :单播,组播,广播
            TCP : 需要连接;速度慢,安全


    InterAddress
        作用:表示此类的IP地址
        InterAddress.getByName:确定主机名,也可以是IP地址
        getHostName : 获取主机名
        getHostAddress : 返回文本显示中的IP地址,以字符串形式
    TCP通讯原理
        是一个可靠的网络协议,在通讯两端建立一个Socke对象
    TCP
        客户端
            1.创建Socke地址,端口;
            2.写入字符(getOutPutStream)后面必须接.getBytes方法
            3.释放
        服务端
            1.创建ServerSocke,后面接端口号
            2.阻塞:客户端不运行,服务端不接受。调用accept
            3.读入,getInputStream
            4.循环读,!=-1
            5.释放
    三次握手
        1.就是客户端向服务器发送一个连接请求,等待它确定;
        2. 服务器收到了,给了它一个回应
        3. 两边确定连接,连接成功
    四次挥手
        前提:两边是正在相互连接状态
        1.就是客户端向服务器发送一个取消连接请求,等待它确定;
        2. 服务器收到了,给了它一个回应
        3. 服务器向客户端发出确认取消信息
        4.客户端确定,连接取消
    服务器优化
        弊端
            1:一次只能接受一次
            2 :第二次上传的时候会把第一次文件给覆盖掉
            3 :使用循环无法跟多个客户端进行通讯
            4 :使用多线程虽然可以让服务器处理多个客户端请求。但是资源消耗太大
        优化
            1:直接死循环
            2 :UUID.randomUUID方法生成随机的文件名
            3 :开启多线程(比较麻烦)
            4 :加入线程池

这篇关于网络编程基本详情的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!