网络编程3之TCP/IP协议
2017-05-04 10:13
190 查看
在TCP/IP协议中,最重要的协议是【TCP、UDP、IP】协议
TCP是基于(面向)连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接
2)TCP协议建立连接
TCP协议建立连接需要三次会话(握手)
3)特点
4)基于TCP协议的Socket编程聊天程序
注意:
2)特点
3)IP地址
4)给自己发消息IP地址
2)0-1023是公认端口号,即已经公认定义或为将要公认定义的软件保留的
3)1024-65535是并没有公共定义的端口号,用户可以自己定义这些端口的作用。
4)端口与协议有关:TCP和UDP的端口互不相干
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的端口互不相干
相关文章推荐
- python(12 网络编程 网络协议tcp/ip协议 IP地址 端口 )
- Linux网络编程--7. TCP/IP协议
- java网络编程学习笔记之一(TCP/IP协议与UDP协议的区别和认识)
- 网络编程的基本概念,TCP/IP协议简介
- TCP/IP协议及网络编程基础
- Android网络编程 - TCP/IP协议实践 - OkHttp
- (七)Linux网络编程--7. TCP/IP协议 8. 套接字选项
- 基于TCP/IP协议的网络编程
- TCP/IP协议及网络编程基础
- SSD8网络的一些事 网络编程的基本概念,TCP/IP协议简介
- 读书笔记——网络编程与开发技术(3)基于TCP/IP协议的网络编程相关知识
- 嵌入式linux的网络编程(1)--TCP/IP协议概述
- TCP/IP协议及网络编程基础
- Linux网络编程--7. TCP/IP协议
- 读书笔记——网络编程与开发技术(3)基于TCP/IP协议的网络编程相关知识
- 【网络编程】 一张图了解TCP/IP协议
- 网络编程的OSI协议和TCP/IP协议
- 一种基于TCP/IP协议的网络编程模式(并发式多线程编程)
- 基于TCP/IP协议的网络编程—Socket编程
- Linux 网络编程详解五(TCP/IP协议粘包解决方案二)