Socket数据通信

  • Socket 原意:插座 ; 现意:套接字
  • Port 端口
  • TCP (Transmission Control Protocol )传输控制协议
  • UDP (User Data Protocol) 用户数据协议
  • IP (Internet Protocol)因特网互联协议
  • Telnet 远程连接的协议 (端口号:21)
  • FTP 文件传输协议 (端口号:23)
  • HTTP 超文本传输协议 (端口号:80)

 在网络传输应用中,通常使用TCP、IP和UDP这三种协议实现数据传输。在传输网络数据的过程中,需要通过一个双向的通信连接实现数据的交互。在这个传输过程中,通常将这个双向链路的一端称为Socket,一个Socket通常有一个IP地址和一个端口号来唯一确定。在Java编程应用中,Socket是Java网络编程的核心。Socket的英文原意为插座,所以我们可以想象网络就像市电,而用电器取电必须要通过“插座”来引入市电才能工作;插座的作用不言而喻。
  在网络编程中有两个主要问题:

  1. 如何准确定位网络上的一台或多台主机?
  2. 找到主机后如何进行可靠、高效的数据传输?
      现今,在TCP/IP中IP层主要负责网络主机的定位、数据传输的路由,由IP地址可以唯一确定Internet上的一台主机。而TCP层则是提供面向应用可靠的或非可靠的数据传输机制,它是网络编程的主要对象。
      目前较为流行的网络编程模型是客户机/服务器(Client/Server, C/S)结构。即通信双方一方作为服务器等待客户提出请求并予以响应;客户则在需要服务时向服务器提出申请。服务器一般作为守护进程始终运行,监听网络端口,一旦有客户请求,就会启动一个服务进程来响应客户,同时自己继续监听服务端口,使后来的客户也能及时得到服务。
      TCP/IP协议采用了四层的层级结构,每一层都呼叫它的下一层所提供的协议来完成自己的需求。也就是说,TCP负责发现传输的问题,一旦它发现问题便发出信号要求重新传输,知道所有数据安全正确地传输到目的地。而IP的功能是给因特网的每一台计算机规定一个地址。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值