黑马程序员-day25网络编程

1.网络编程

1.如何进行网络通讯的?

(1)找到对方IP。
(2)数据要发送到对方指定的应用程序上。为了标识这些应用程序,所以给这些网络应用程序都用数字进行标识。
为了方便称呼数字,叫做端口。逻辑端口。
(3)定义通信规则。这个通信规则称为协议。
国际组织定义了通用协议TCP/IP。

2.网络通讯要素:

(1)IP地址:InetAddress 网络中设备的标识, 不易记忆,可用主机名。本地回环地址:127.0.0.1 主机名:localhost。

(2)端口号:用于标识进程的逻辑地址,不同进程的标识。有效端口:0到65535,其中0到1024系统使用或保留端口。

(3)传输协议:通讯的规则常见协议:TCP UDP

2.网络模型

(1)ISO七层模型
从应用层到物理层数据封包,传输到对面层,然后从物理层到应用层进行数据拆包。
物理层 ,数据链路层 ,网络层 ,传输层 ,会话层, 表示层, 应用层。

(2)TCP/IP四层模型
主机至网路层 ,  网际层  ,传输层,应用层。

3.UDP和TCP

1.UDP特点

(1)将数据及源和目的封装成数据包中,不需要建立连接。
(2)每个数据包的大小限制在64K内。
(3) 因无连接,是不可靠协议。
(4)  不需要建立连接,速度快。
例如:生活中去邮局寄东西(UDP),东西装盒子里(封包),写寄送地址(接收端口)天堂路到地狱街,没找到丢包。但是速度快,比你自己送过去快。   QQ,游戏等都是UDP。

2.TCP特点

(1)建立连接,形成传输数据的通道。
(2) 在连接中进行大数据量传输。
(3) 通过三次握手完成连接,是可靠协议。
(4) 必须建立连接,效率会稍低。

例如:下载是TCP。

4.练习:

1.UDP练习:

编写一个聊天程序。有收数据的部分,和发数据的部分。这两部分需要同时执行。那就需要用到多线程技术。一个线程控制收,一个线程控制发。因为收和发动作是不一致的,所以要定义两个run方法。而且这两个方法要封装到不同的类中。

代码图例:





2.TCP练习

演示tcp的传输的客户端和服务端的互访。
需求:客户端给服务端发送数据,服务端收到后,给客户端反馈信息。

代码图例:



3.TCP文本转换服务器

需求:建立一个文本转换服务器。
客户端给服务端发送文本,服务单会将文本转成大写在返回给客户端。
而且客户度可以不断的进行文本转换。当客户端输入over时,转换结束。
分析:
客户端:
既然是操作设备上的数据,那么就可以使用io技术,并按照io的操作规律来思考。
源:键盘录入。
目的:网络设备,网络输出流。
而且操作的是文本数据。可以选择字符流。
步骤
1,建立服务。
2,获取键盘录入。
3,将数据发给服务端。
4,后去服务端返回的大写数据。
5,结束,关资源。
都是文本数据,可以使用字符流进行操作,同时提高效率,加入缓冲。

代码图例:





4.TCP上传文本文件






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值