网络编程1.0

网络编程有两个问题:

1.如何准确的定位网络上一台主机,并定位主机上的应用

2.找到主机后如何进行数据传输

解决:1.使用IP和端口;

              IP:唯一的标识Intermet上的计算机     在java中使用InetAddress类代表电脑的IP地址

              端口:每个进程都有一个端口:列QQ算一个进程,系统会给其一个端口

              域名:IP地址太难记衍生出域名,列:www.baidu.com电脑会自动去匹配ip地址

          2.提供网络通信协议:TCP/IP参考模型(把网络同行协议分成了几个部分,上层可以向下层传输数据)主要看中间这列

网络通信协议TCP和UDP区别:

 

 TCP:在传输前建立数据传输通道,安全,相较于可靠,采用三次握手的方式(去——回——去),可进行大量数据传输,速度慢;

 UDP:不需要建立通道,不是很安全,每个数据大小不得超过64k,速度快;

二  如何实现网络编程

     如何实列InetAddress:两个方法:getByName(String host)//输入域名或者直接给ip地址;

                                                              getLocalHost()//返回本机ip地址

                客户端:

      ①先创建Socket对象,指明服务器端的ip和端口;

      ②socket对象调用getOutputStream()方法指出输出流用于输出;

      ③写出数据操作用write;

      ④流关闭;

               服务端:

      ①创建服务端Serversocket,指明端口号,要和客户端一样;

      ②创建对象调用accept方法返回一个Socket型对象;

      ③用socket对象指出输入流读取数据

      ④读取操作

      ⑤流关闭

posted @   天庭保安猪八戒  阅读(49)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!
点击右上角即可分享
微信分享提示