博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基本套接字tcp/udp
阅读量:7026 次
发布时间:2019-06-28

本文共 1104 字,大约阅读时间需要 3 分钟。

hot3.png

一、Socket套接字是什么?

socket是一种抽象层,应用程序通过它来发送和接收数据。socket可以将应用程序添加到网络中,并与处于同一个网络中的其他应用程序进行通讯。tcp/ip协议族主要的socket类型为流套接字(stream socket)和数据报套接字(datagram socket),分别对应tcp和udp传输。

二、如何确定一个套接字

tcp/ip套接字由一个互联网地址,一个端对端协议(TCP或UDP协议),还有程序的端口号(如8080)确定。

 

三、TCP套接字---可靠,有序,面向字节流的

    tcp通讯是通过字节流传输的。

java中为TCP协议编程提供了Socket类和ServerSocket类。一个Socket实例代表了TCP连接的一端。一个TCP连接是一条抽象的双向信道(说的是客户端/服务器双方都可以发信息吧),两端分别由IP地址和端口号确定。在两端通信之前,需要先建立连接,先由客户端向服务端发送连接请求。ServerSocket实例则监听TCP连接请求,为每一个请求创建新的Socket实例。这说明了服务端需要同时处理ServerScoket实例和Socket实例。客户端则只需要处理Socket实例。

    大致步骤:1.创建socket    2.获取输入输出流进行通讯     3.关闭socket

四、UDP编程--尽力而为,不保证无差错,无序的。

    UDP 协议提供了一种不同于 TCP 协议的端到端服务。实际上 UDP 协议只实现两个功

能: 1)在 IP 协议的基础上添加了另一层地址(端口), 2)对数据传输过程中可能产生的
数据错误进行了检测,并抛弃已经损坏的数据。udp协议具有以下特点:

    1.UDP程序是通过数据报文的形式通讯的。由于不需要创建连接,所以数据报文中会包含了自己的地址信息和目的地址信息,而且数据报文信息是独立的。

    2.还有不同于tcp的是,udp是保留边界信息。那么保留边界信息是指什么呢?

      保留消息边界,就是指传输协议把数据当作一条独立的消息在网上传输,接收端只能接收独立的消息。也就是说存在保护消息边界,那么接收端一次只能接收发送端发出的一个数据包。

    那么编写udp程序需要哪些东西呢?

    一个DatagramPacket: 数据报文,包含了所有的信息

    一个DatagramSocket:  udp套接字,用于传输数据报文。

    总的步骤:1.创建DatagramPacket    2.创建DatagramSocket 3.调用socket的send方法发送报文

    

 

 

 

转载于:https://my.oschina.net/u/3052654/blog/827000

你可能感兴趣的文章
Python For Data Analysis -- IPython
查看>>
CentOS Maven 删除 *.lastUpdated文件
查看>>
[Java Web] 2、Web开发中的一些架构
查看>>
Word Excel 操作总结
查看>>
qt 调用zlib压缩与解压缩功能
查看>>
MVVM模式中WPF数据的完全绑定
查看>>
[Hibernate] - one to one
查看>>
【安卓】eclipse中不可错过的几个秘密、!
查看>>
桥接模式
查看>>
设置导航栏标题的文字属性
查看>>
纯银:优秀的人才,没一个开口就问“贵司薪水几何”(转)
查看>>
LoadTestAgentResultsLateException in VS2010
查看>>
开源一个基于nio的java网络程序
查看>>
在Hibernate中使用HibernateTemplate来进行包含sql语句的查询
查看>>
sqlite3经常使用命令&语法
查看>>
Java Collection 简介
查看>>
一个非常不错的背景纹理图的网站
查看>>
WinStore之Application Data
查看>>
word 批量修改表格格式
查看>>
解剖SQLSERVER 第六篇 对OrcaMDF的系统测试里避免regressions(译)
查看>>