网络编程3之TCP/IP协议
在TCP/IP协议中,最重要的协议是【TCP、UDP、IP】协议
1.TCP/IP协议特点
1)Internet上不同系统之间互联的一组协议
2)为分散和不同类型的硬件提供通用的编程接口。
3)TCP/IP 协议使Internet尽可能成为一个分散、无序的网络。
2.TCP协议
1)定义
TCP是基于(面向)连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接
2)TCP协议建立连接
TCP协议建立连接需要三次会话(握手)
A->B
B->A
A->B
3)特点
面向连接,数据安全
因为三次握手降低了执行效率
4)基于TCP协议的Socket编程聊天程序
客户端
1,Scanner对象【要发送的数据】
2,创建【Socket对象】(地址,端口号)
3,创建【输出流】socket.getOutputStream()
4,【发送数据】os.write(string.getBytes())
若需接收,则采用【服务器端】步骤
服务器端
1,创建【ServerSocket对象】(端口号)
2,创建【socket】serverSocket.accept()
3,创建【输入流】socket.getInputStream()
3,【接收数据】is.read(bs)
若需回复,则采用【客户端】步骤
注意:
给服务端发送数据后是不能给客户端返回信息的,因为客户端发送完后再接收信
息会阻塞客户端,导致不能关流,那么客户端不关流,服务端就无法接收完毕,
因此不能执行接收文件后的发送消息的行为
3.IP协议
1)定义
IP协议由主机到主机协议调用,而此协议负责调用本地网络协议将数据报传送以下一个网关或目的主机。
例如TCP可以调用IP协议,在调用时传送目的地址和源地址作为参数,IP形成数据报并调用本地网络(协议)接口传送数据报。
2)特点
私有IP:没有互联网,多台电脑允许IP地址相同
公有IP:联网后,在网络上会自动分配一个IP,不允许重复
3)IP地址
a.【唯一】标识【网络上】的每一台计算机
b.IP地址的组成
32位,由4个8位二进制数组成(每个0~255)比如192.168.1.200
IP地址 = 网络地址 +主机地址
网络地址:标识计算机或网络设备所在的网段
主机地址:标识特定主机或网络设备
c.IP地址的配置和检测
查看本机的IP地址:运行cmd,调用ipconfig
测试网络是否通畅:ping 目标IP地址
(比如:ping baidu.com 或者ping 192.168.11.200)
4)给自己发消息IP地址
1,直接查看IP地址
2,127.0.0.1 本机测试地址
3,localhost 代表本机
4.端口号
1)定义
具有网络功能的应用软件的标识号
端口是一个软件结构,被客户程序或服务程序用来发送和接收数据,一台服务器有256*256个端口
2)0-1023是公认端口号,即已经公认定义或为将要公认定义的软件保留的
3)1024-65535是并没有公共定义的端口号,用户可以自己定义这些端口的作用。
4)端口与协议有关:TCP和UDP的端口互不相干
网络编程3之TCP/IP协议的更多相关文章
- Android网络编程系列 一 TCP/IP协议族
在学习和使用Android网路编程时,我们接触的仅仅是上层协议和接口如Apache的httpclient或者Android自带的httpURlconnection等等.对于这些接口的底层实现我们也有必 ...
- Android网络编程系列 一 TCP/IP协议族之链路层
这篇借鉴的文章主要是用于后续文章知识点的扩散,在此特作备份和扩散学习交流. 数据链路层有三个目的: 为IP模块发送和 接收IP数据报. 为ARP模块发送ARP请求和接收ARP应答. 为RARP发送RA ...
- Android网络编程系列 一 TCP/IP协议族之网际层
这篇借鉴的文章主要是用于后续文章知识点的扩散,在此特作备份和扩散学习交流. 网际层包括:IP.ICMP.IGMP 以及处在网际层实际工作在链路层的 ARP 和 RARP等等协议. 1.IP协议 互联网 ...
- Android网络编程系列 一 TCP/IP协议族之传输层
这篇借鉴的文章主要是用于后续文章知识点的扩散,在此特作备份和扩散学习交流. 传输层中有TCP协议与UDP协议. 1.UDP介绍 UDP是传输层协议,和TCP协议处于一个分层中,但是与TCP协议不同,U ...
- 浅谈通信网络(三)——TCP/IP协议
简介 Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议.In ...
- 网络基础篇(一)--TCP/IP协议族
TCP/IP协议族是一个分层,多协议通信体系. 1 TCP/IP协议族体系结构 TCP/IP协议族自底而上分为四层: 数据链路层, 网络层, 传输层和应用层. 1.1 数据链路层 实现网卡接口的网络驱 ...
- Linux 网络编程一(TCP/IP协议)
以前我们讲过进程间通信,通过进程间通信可以实现同一台计算机上不同的进程之间通信. 通过网络编程可以实现在网络中的各个计算机之间的通信. 进程能够使用套接字实现和其他进程或者其他计算机通信. 同样的套接 ...
- 从零探索Java网络编程01之 TCP/IP 与 Socket
最近完成了几项比较简单的项目, 终于是在996里偷了点闲暇时光, 想着来研究研究些啥吧? 一个普通的控制台日志映入了我的眼帘(孽缘呀): (图中使用 SpringBoot 的 log4j 来输出日志 ...
- 第1章 网络编程基础(4)——TCP/IP通信
TCP协议利用网络层IP协议提供不可靠的通信服务,解决分组的重传和排序问题,为应用程序提供可靠的.端到端的.面向连接的基于字节流的服务. 对等TCP传输实体间的通信具有如下特征: 全双工 只支持两个端 ...
随机推荐
- Jquery对raido的一些操作方法
raido 单选组radio: $("input[type=radio][checked]").val(); 获 取一组radio被选中项的值 var item = $('i ...
- SysTick定时器
SysTick是一个24位的倒计数定时器,当计到0时,将从RELOAD寄存器中自动重装载定时初值.只要不把它在SysTick控制及状态寄存器中的使能位清除,就永不停息.下边小结了SysTick的相关寄 ...
- sptt规范介绍
相关资源 如何开发sptt工程的原子操作 移动端测试方案--sptt sptt规范 一个标准的sptt工程的目录如下: [sptt-project] | -- [ios] | | -- [atoms] ...
- sphinx全文检索引擎
今天刚刚学习了一下,就直接分享上去,有些还没有接触,如果有问题请指正,谢谢 sphinx是什么? Sphinx是一个全文检索引擎.主要为其他应用提供高速.低空间占用.高结果 相关度的全文搜索功能. S ...
- mvc中DotNetOpenAuth实现了第三方应用访问自己的网站
以yahoo为例吧,即从yahoo取得用户信息,存到自己的站点,实现了用户信息在一次录入多处共享的功能.以下是在点击了使用yahoo登录本站的链接后执行action:OpenId. ProviderU ...
- SQL注入详细介绍及如何防范SQL注入式攻击
一. SQL注入攻击的简单示例. statement := "SELECT * FROM Users WHERE Value= " + a_variable + " 上面 ...
- 转Fiddler 构造http请求
今天使用Fiddler构造一个POST请求,server端的PHP脚本的 $_POST数组中怎么也获取不到值,后来偶然发现是因为缺少了一个http头:Content-Type: application ...
- linux系统资源限制
概述 拜读了小Y对ora-7445问题的解读,猛然惊醒发现自己对oracle运行在linux上的资源限制一直是朦朦胧胧的,以此文章督促自己深入了解. 1 limits.conf 和sysctl.con ...
- jquery获取文件名称
$("#fileupload").on("change",function(){ var filePath=$(this).val(); if(filePath ...
- Qt:添加点击事件的Label并显示图片
1.给label添加点击事件 Qt中原本的label是没有点击事件的,如果想添加点击事件的话,可以继承QLabel类并重载鼠标事件(比如mousePressedEvent),然后在鼠标事件中发送一个信 ...