JAVA网络编程 ——基于TCP的Socket编程(1)——实现服务器端与客户端的实时对话

第一篇文章,我先介绍以及记录一下我所学的知识点。(总结了一下视频老师讲的东西)

一,HTTP与Socket

1.HTTP:超文本传输协议

特点:客户端发送的请求需要服务器端每次来响应,在请求结束之后主动释放连接,从建立连接到关闭连接称为“一次连接”,所以HTTP是“短连接”。

2.Socket(IP+PORT):是TCP/IP的封装与应用,它不是协议,而是API

特点:客户端与服务器之间一旦建立连接,就可以互相范松消息,也叫对话,但在实际应用中,通信双方经过许多的中间节点,比如,路由器,网关,防火墙,大部分防火墙会默认关闭长时间处于不活跃的状态连接,而是Socket断开。

选择:当服务器主要想客户端推送消息,为了保持客户端与服务器数据的实时与同步,通常会从采用HTTP协议,只要客户端定时向服务器端发送请求,同时也是在询问是否有新的数据,如果有那就传入客户端。

二,TCP/IP模型

1.通信原理图

2.模型图

                                                             

三,基于TCP的网络编程

1.Socket: IP地址+端口号组成了Socket,Socket是网络上运行程序之间双向通信的终结点,是TCP和UDP的基础。

2.JAVA提供的网络功能(可以查看API)

InetAddress:标识IP地址

URL:统一资源定位,通过URL可以直接读取或写入网络上的数据

Sockets:使用TCP协议实现Socket相关的类

Datagram:使用UDP协议。将数据保存在数据包中,通过网络通信。

3.Socket通信模型

<

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值