Socket 通信 知识梳理

1.socket是网络通信的一项技术,android的socket通信其实使用的是java的socket通信技术。一些常用的即时通讯软件涉及socket通信。

网络技术最基础的知识是基于tcp/ip x的http协议,具体内容可以看图解http这本书。

两个设备之间进行通讯 只需要以下信息:

两台计算机的ip地址 ,两台计算机的端口号,两台计算机之间的传输协议。

tcp/ip 协议:

tcp--- transmission control protocal

ip---Internet Protocol 这里的ip不是ip地址

tcp/ip 有着经典的五层传输模型

上图省略了最底层物理层

ip地址:ip地址是每台计算机的唯一标识

端口:区分一台计算机上的不同应用程序,比如http端口号是80

我们把ip地址和端口号加起来叫做socket,那么socket通信也就清楚了

 socket通信机制:

      通信的两端都有socket,数据在两个socket之间通过io传输

2.java中的网络通信

   针对网络通信的不同层次,java提供的api有

InetAddress:标识ip地址

URL:统一资源定位符

Sockets:基于tcp/ip协议的网络通信

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


3.tcp编程

   tcp是面向连接的,以字节流的方法发送数据

  java中socket通信模型是这样的

socket通信模型

4.udp编程

udp协议是无连接的,基于数据报的通信协议

最后附一张tcp/ip的核心

tcp/ip core
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 名词延伸 通俗的说,域名就相当于一个家庭的门牌号码,别人通过这个号码可以很容易的找到你。如果把IP地址比作一间房子...
    杨大虾阅读 20,694评论 2 56
  • 个人认为,Goodboy1881先生的TCP /IP 协议详解学习博客系列博客是一部非常精彩的学习笔记,这虽然只是...
    贰零壹柒_fc10阅读 10,486评论 0 8
  • 1.这篇文章不是本人原创的,只是个人为了对这部分知识做一个整理和系统的输出而编辑成的,在此郑重地向本文所引用文章的...
    SOMCENT阅读 14,479评论 6 174
  • 网络概念第一天 两台电脑怎么通过网络传输数据?怎样才能知道传输的是数据?谁摸过网线? 看电影,怎么看的?通过电流,...
    小吖朱阅读 5,469评论 0 1
  • 全民关注的北京车展,已经到来了! 你的朋友圈肯定会被刷屏! 如果你不想落伍, 那么,这条“假装自己在现场”朋友圈系...
    照相机Sir阅读 6,783评论 0 0