`
deepfuture
  • 浏览: 4412229 次
  • 性别: Icon_minigender_1
  • 来自: 湛江
博客专栏
073ec2a9-85b7-3ebf-a3bb-c6361e6c6f64
SQLite源码剖析
浏览量:80130
1591c4b8-62f1-3d3e-9551-25c77465da96
WIN32汇编语言学习应用...
浏览量:70350
F5390db6-59dd-338f-ba18-4e93943ff06a
神奇的perl
浏览量:103590
Dac44363-8a80-3836-99aa-f7b7780fa6e2
lucene等搜索引擎解析...
浏览量:286566
Ec49a563-4109-3c69-9c83-8f6d068ba113
深入lucene3.5源码...
浏览量:15054
9b99bfc2-19c2-3346-9100-7f8879c731ce
VB.NET并行与分布式编...
浏览量:67786
B1db2af3-06b3-35bb-ac08-59ff2d1324b4
silverlight 5...
浏览量:32292
4a56b548-ab3d-35af-a984-e0781d142c23
算法下午茶系列
浏览量:46075
社区版块
存档分类
最新评论

java-面向连接数据包socket api

阅读更多

类 DatagramSocket

可以做为面向连接数据包使用,但是很少使用,一般使用流SOCKET

 

 void connect(InetAddress address,int port)
          将套接字连接到此套接字的远程地址。
 void connect(SocketAddress addr)
          将此套接字连接到远程套接字地址(IP地址 + 端口号)。

这2个方法说明了该类可做为面向连接

 

java.lang.Object  继承者 java.net.DatagramSocket
直接已知子类:
MulticastSocket


public class DatagramSocket
extends Object

此类表示用来发送和接收数据报包的套接字。

数据报套接字是包投递服务的发送或接收点。每个在数据报套接字上发送或接收的包都是单独编址和路由的。从一台机器发送到另一台机器的多个包可能选择不同的路由,也可能按不同的顺序到达。

在 DatagramSocket 上总是启用 UDP 广播发送。为了接收广播包,应该将 DatagramSocket绑定到通配符地址。在某些实现中,将 DatagramSocket 绑定到一个更加具体的地址时广播包也可以被接收。

示例:DatagramSocket s = new DatagramSocket(null); s.bind(newInetSocketAddress(8888)); 这等价于:DatagramSocket s = newDatagramSocket(8888); 两个例子都能创建能够在 UDP 8888 端口上接收广播的DatagramSocket。

 

 

从以下版本开始:
JDK1.0
另请参见:
DatagramPacket, DatagramChannel


构造方法摘要
  DatagramSocket()
          构造数据报套接字并将其绑定到本地主机上任何可用的端口。
protected DatagramSocket(DatagramSocketImpl impl)
          创建带有指定DatagramSocketImpl 的未绑定数据报套接字。
  DatagramSocket(int port)
          创建数据报套接字并将其绑定到本地主机上的指定端口。
  DatagramSocket(int port, InetAddress laddr)
          创建数据报套接字,将其绑定到指定的本地地址。
  DatagramSocket(SocketAddress bindaddr)
          创建数据报套接字,将其绑定到指定的本地套接字地址。

 

方法摘要
 void bind(SocketAddress addr)
          将此DatagramSocket 绑定到特定的地址和端口。
 void close()
          关闭此数据报套接字。
 void connect(InetAddress address,int port)
          将套接字连接到此套接字的远程地址。
 void connect(SocketAddress addr)
          将此套接字连接到远程套接字地址(IP地址 + 端口号)。
 void disconnect()
          断开套接字的连接。
 boolean getBroadcast()
          检测是否启用了SO_BROADCAST。
 DatagramChannel getChannel()
          返回与此数据报套接字关联的唯一DatagramChannel 对象(如果有)。
 InetAddress getInetAddress()
          返回此套接字连接的地址。
 InetAddress getLocalAddress()
          获取套接字绑定的本地地址。
 int getLocalPort()
          返回此套接字绑定的本地主机上的端口号。
 SocketAddress getLocalSocketAddress()
          返回此套接字绑定的端点的地址,如果尚未绑定则返回null
 int getPort()
          返回此套接字的端口。
 int getReceiveBufferSize()
          获取此DatagramSocket 的 SO_RCVBUF 选项的值,该值是平台在DatagramSocket 上输入时使用的缓冲区大小。
 SocketAddress getRemoteSocketAddress()
          返回此套接字连接的端点的地址,如果未连接则返回null
 boolean getReuseAddress()
          检测是否启用了SO_REUSEADDR。
 int getSendBufferSize()
          获取此DatagramSocket 的 SO_SNDBUF 选项的值,该值是平台在DatagramSocket 上输出时使用的缓冲区大小。
 int getSoTimeout()
          获取SO_TIMEOUT 的设置。
 int getTrafficClass()
          为从此DatagramSocket 上发送的包获取 IP 数据报头中的流量类别或服务类型。
 boolean isBound()
          返回套接字的绑定状态。
 boolean isClosed()
          返回是否关闭了套接字。
 boolean isConnected()
          返回套接字的连接状态。
 void receive(DatagramPacket p)
          从此套接字接收数据报包。
 void send(DatagramPacket p)
          从此套接字发送数据报包。
 void setBroadcast(boolean on)
          启用/禁用SO_BROADCAST。
static void setDatagramSocketImplFactory(DatagramSocketImplFactory fac)
          为应用程序设置数据报套接字实现工厂。
 void setReceiveBufferSize(int size)
          将此DatagramSocket 的 SO_RCVBUF 选项设置为指定的值。
 void setReuseAddress(boolean on)
          启用/禁用SO_REUSEADDR 套接字选项。
 void setSendBufferSize(int size)
          将此DatagramSocket 的 SO_SNDBUF 选项设置为指定的值。
 void setSoTimeout(int timeout)
          启用/禁用带有指定超时值的SO_TIMEOUT,以毫秒为单位。
 void setTrafficClass(int tc)
          为从此DatagramSocket 上发送的数据报在 IP 数据报头中设置流量类别 (traffic class) 或服务类型八位组(type-of-service octet)。

 

分享到:
评论

相关推荐

    Java Socket-03 Java TCP Socket

    TCP(Transmission Control Protocol)是一种面向连接的、可靠的传输协议,它确保数据包按照发送顺序到达目的地,且无丢失或重复。Java Socket是TCP协议的抽象,提供了服务器端和客户端进行通信的接口。 **TCP ...

    JavaTCP-Socket.zip_JAVA socket编程_java socket _socket 聊天

    在Java中,Socket API提供了一种标准的方式来实现客户端-服务器应用程序。本篇将深入探讨Java Socket编程及其在构建聊天应用中的应用。 首先,我们要了解TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流...

    基于Java--Socket-网络编程.doc

    - **作用**:确保数据包能够可靠地传输,即提供了一种可靠的、面向连接的服务。 - **特点**:通过三次握手建立连接,四次挥手断开连接,确保数据包按序传递。 - **机制**:拥塞控制、流量控制等。 #### 二、端口...

    HPsocket 封包与mina对接

    HPsocket是一个高性能、跨平台的TCP/UDP/串口通信中间件库,它提供了丰富的API接口和灵活的事件驱动模型,使得用户可以方便地开发自己的网络应用程序。本文将重点介绍如何使用HPsocket的`TcpPackServer`类来实现封包...

    java Socket通信实现

    在Java中,Socket提供了低级别的、基于连接的、面向数据流的通信API,可以用于实现客户端-服务器架构的应用程序。以下是关于Java Socket通信实现的详细知识点: 1. **Socket基础**: - **Socket类**:Java中的`...

    JavaSocket编程(二)Java面向连接的类.pdf

    总的来说,Java的Socket编程提供了丰富的API来处理面向连接和无连接的网络通信。面向连接的Socket类适用于需要保证数据完整性和顺序的应用,例如文件传输、Web服务器等;而无连接的Socket类则适合实时性要求高、数据...

    java基于Socket的网络通信

    在Java中,`java.net.Socket`类代表TCP连接,而`java.net.DatagramSocket`则用于UDP通信。 - TCP(Transmission Control Protocol)是一种面向连接的、可靠的传输协议,保证数据的顺序和完整性;UDP(User Datagram...

    Java-Java网络编程教程

    TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,而IP(Internet Protocol)是网络层协议,负责数据包的路由。理解这些基本概念对于构建网络应用至关重要。 二、Java...

    达内java socket 视频教程

    Java Socket是Java编程中用于网络通信的一个重要API,它提供了低级别的、面向连接的、基于TCP协议的通信机制。在本“达内Java Socket视频教程”中,你将深入学习如何利用Socket进行进程间的网络通信。 Java Socket ...

    01_Linux网络编程-网络基础-socket编程-高并发服务器1

    4. **传输层**:TCP(Transmission Control Protocol)提供面向连接、可靠的字节流服务,确保数据包按序到达;而UDP(User Datagram Protocol)则提供无连接、不可靠的服务,适合实时应用。 应用层是最高层,包含...

    sendtcp java发送TCP数据包的程序,基于winpcap,Jpcap.zip

    标题中的“sendtcp java发送TCP数据包的程序”是指一个使用Java编程语言实现的TCP数据包发送工具。这个工具可能是为了网络通信测试、数据分析或网络编程教学而设计的。TCP(Transmission Control Protocol)是一种...

    C++写的服务器与Java写的客户端通过Socket通信C++代码

    TCP是一种面向连接的、可靠的传输层协议,确保数据包按顺序到达且无丢失。在C++和Java中,都使用TCP Socket进行通信。 5. **文件名解析**: - `server.cpp`: 这是C++服务器端的源代码文件,包含了Socket通信的实现...

    Java代码写的局域网多线程TCP、Socket多人聊天室winsock.zip

    - TCP是一种面向连接的、可靠的传输层协议,它保证了数据包按顺序、无丢失地到达目的地。 - TCP通过三次握手建立连接,四次挥手断开连接,确保了连接的可靠性。 - TCP使用滑动窗口机制进行流量控制,防止数据发送...

    Java TCP IP Socket编程 包含源码

    1. **TCP/IP协议基础**:TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,而IP(网际协议)是互联网的基础协议,负责将数据包发送到目标地址。TCP/IP模型包括应用层、传输层、网络层和...

    Java TCP IP Socket

    Java TCP/IP Socket 涉及的是Java编程语言中网络编程的核心部分,它允许Java程序通过使用TCP/IP协议族与远程的或者本地的其他程序进行数据交换。TCP/IP协议族是目前互联网上最广泛使用的协议族,而Socket编程是实现...

    socket 编程 ppt java

    Socket提供了一种低级别的接口,允许应用程序创建自己的通信协议,同时提供了面向连接和无连接两种通信方式。 1. **TCP/IP协议**: - TCP(Transmission Control Protocol)是一种面向连接的、可靠的传输协议,...

    java利用socket套接字实现客服端和服务器实现TCP通信

    本文将深入探讨如何使用Java的Socket API来实现TCP(传输控制协议)通信,包括客户端和服务器的交互。TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议,确保了数据的准确无误地按序传递。 首先,我们要...

    java socket

    Java Socket是Java编程语言中用于网络通信的核心API,它提供了低级别的、面向连接的、双向通信的接口。在Java中,Socket通常被用来实现客户端(Client)与服务器端(Server)之间的通信,允许两个应用程序通过网络...

Global site tag (gtag.js) - Google Analytics