在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协议的更多相关文章

  1. Android网络编程系列 一 TCP/IP协议族

    在学习和使用Android网路编程时,我们接触的仅仅是上层协议和接口如Apache的httpclient或者Android自带的httpURlconnection等等.对于这些接口的底层实现我们也有必 ...

  2. Android网络编程系列 一 TCP/IP协议族之链路层

    这篇借鉴的文章主要是用于后续文章知识点的扩散,在此特作备份和扩散学习交流. 数据链路层有三个目的: 为IP模块发送和 接收IP数据报. 为ARP模块发送ARP请求和接收ARP应答. 为RARP发送RA ...

  3. Android网络编程系列 一 TCP/IP协议族之网际层

    这篇借鉴的文章主要是用于后续文章知识点的扩散,在此特作备份和扩散学习交流. 网际层包括:IP.ICMP.IGMP 以及处在网际层实际工作在链路层的 ARP 和 RARP等等协议. 1.IP协议 互联网 ...

  4. Android网络编程系列 一 TCP/IP协议族之传输层

    这篇借鉴的文章主要是用于后续文章知识点的扩散,在此特作备份和扩散学习交流. 传输层中有TCP协议与UDP协议. 1.UDP介绍 UDP是传输层协议,和TCP协议处于一个分层中,但是与TCP协议不同,U ...

  5. 浅谈通信网络(三)——TCP/IP协议

    简介 Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议.In ...

  6. 网络基础篇(一)--TCP/IP协议族

    TCP/IP协议族是一个分层,多协议通信体系. 1 TCP/IP协议族体系结构 TCP/IP协议族自底而上分为四层: 数据链路层, 网络层, 传输层和应用层. 1.1 数据链路层 实现网卡接口的网络驱 ...

  7. Linux 网络编程一(TCP/IP协议)

    以前我们讲过进程间通信,通过进程间通信可以实现同一台计算机上不同的进程之间通信. 通过网络编程可以实现在网络中的各个计算机之间的通信. 进程能够使用套接字实现和其他进程或者其他计算机通信. 同样的套接 ...

  8. 从零探索Java网络编程01之 TCP/IP 与 Socket

    最近完成了几项比较简单的项目, 终于是在996里偷了点闲暇时光, 想着来研究研究些啥吧?  一个普通的控制台日志映入了我的眼帘(孽缘呀): (图中使用 SpringBoot 的 log4j 来输出日志 ...

  9. 第1章 网络编程基础(4)——TCP/IP通信

    TCP协议利用网络层IP协议提供不可靠的通信服务,解决分组的重传和排序问题,为应用程序提供可靠的.端到端的.面向连接的基于字节流的服务. 对等TCP传输实体间的通信具有如下特征: 全双工 只支持两个端 ...

随机推荐

  1. 自动获取代理IP信息的例子,含代码,分享哦,

    /// <summary> /// 读取URL数据内容 /// </summary> /// <param name="url">网址</ ...

  2. Mac 搭建svn本地服务端

    首先建立一个svn目录,位置可以随意,以桌面为例 $ mkdir ~/Desktop/svn 新建一个名为proj的目录作为一个repository $ cd ~/Desktop/svn $ mkdi ...

  3. Laravel 5.2 教程 - 迁移

    一.简介 迁移(Migrations)是一种数据库的版本控制.可以让团队在修改数据库结构的同时,保持彼此的进度一致.迁移通常会和 结构生成器 一起使用,可以简单的管理数据库结构. 下面以创建学生表的迁 ...

  4. margin重叠

    margin重叠也就是我们常说的CSS 外边距合并,W3C给出如下定义: 外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距. 合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者 ...

  5. VMWare下ubuntu无法全屏的问题解决

    遇到的情况: 在VMWare中,安装ubuntu 最新版操作系统(16.04).运行该系统,发现ubuntu系统在虚拟机中,只能居中显示,全屏也只能占一半显示屏幕.怎么看,怎么不舒服. 分析问题: 一 ...

  6. windows下使用IIS的ARR实现站点的负载均衡

    1)    目的: 访问localhost:18066 对下边两个端口负载 localhost:18098 localhost:18099 2)    手段: 1.通过nginx 2.通过iis的AR ...

  7. 再议Unity优化

    0x00 前言 在很长一段时间里,Unity项目的开发者的优化指南上基本都会有一条关于使用GetCompnent方法获取组件的条目(例如14年我的这篇博客<深入浅出聊Unity3D项目优化:从D ...

  8. 基于路由器物理接口的vlan间路由

    广播域之间来往的数据包都是路由器中继的,所以vlan间的通信业需要路由器提供中继服务,这称作vlan间路由,可以用路由器或三层交换机实现. 配置R1: r1(config)#inter fa0/0r1 ...

  9. jQuery css操作

    jQuery操作css的元素样式 1.访问匹配元素的样式属性 来个小案例: <div id="div" style="width:200px;height:200p ...

  10. [刷题]算法竞赛入门经典(第2版) 4-4/UVa253 - Cube painting

    书上具体所有题目:http://pan.baidu.com/s/1hssH0KO 代码:(Accepted,0 ms) #include<iostream> char str[15]; v ...