`

Datagrams 数据报 示例

阅读更多

//Demonstrate Datagrams.
import java.net.*;
class WriteServer{
 public static int serverPort = 666 ;
 public static int clientPort = 999 ;
 public static int buffer_size = 1024 ;
 public static  DatagramSocket ds ;
 public static byte buffer[] = new byte[buffer_size];

 public static void TheServer() throws Exception{
  int pos = 0;
  while(true){
   int c = System.in.read();
   switch(c){
    case -1:
     System.out.println("Server Quits.");
     return;
    case '\r':
     break;
    case '\n':
     ds.send(new DatagramPacket(buffer,pos,InetAddress.getLocalHost(),clientPort));
     pos = 0;
     break;
    default:
     buffer[pos++] = (byte)c;
   }
  }
 }
 public static void TheClient() throws Exception{
  while(true){
   DatagramPacket p = new DatagramPacket (buffer,buffer.length);
   ds.receive(p);
   System.out.println(new String(p.getData(),0,p.getLength()));
  }
 }
 public static void main(String[] args) throws Exception{
  if(args.length == 1){
   ds = new DatagramSocket(serverPort);
   TheServer();
  }else{
   ds = new DatagramSocket(clientPort);
   TheClient();
  }
 }

分享到:
评论

相关推荐

    网路编程-UDP-DatagramSocket、DatagramPacket

    通过这个类,我们可以创建一个socket,用于发送和接收数据报(datagrams)。数据报是UDP的基本传输单位,它们不保证顺序到达,也不保证每个数据报都能到达目的地。下面我们将深入解析`DatagramSocket`的主要功能: ...

    如何利用Java实现QQ文件传输功能.docx

    服务器实现需要四个步骤:建立 DatagramSocket,接收数据报包,把数据报包内容写入一个临时文件,保存正式的文件。 首先,我们需要新建一个 UdpServer.java 类,在构造方法中构建界面。然后,我们需要写一个 start ...

    20. 网络编程2UDP编程1.rar

    这个类允许我们发送和接收数据报(datagrams),数据报是UDP通信的基本单位。创建`DatagramSocket`时,可以指定端口号,或者使用默认的随机分配端口。 ```java DatagramSocket socket = new DatagramSocket(port); ...

    RFC1055.rar_lines_rfc1055

    描述中的"A NONSTANDARD FOR TRANSMISSION OF IP DATAGRAMS OVER SERIAL LINES: SLIP"进一步强调了SLIP协议在串行线路上传输IP数据报的角色。SLIP是在早期互联网时代广泛使用的一种协议,它允许通过简单的串行连接,...

    ConsoleApp1.rar

    `UdpClient`允许我们发送和接收数据报(datagrams)。 ```csharp UdpClient udpClient = new UdpClient(); ``` 在我们的示例中,主机可能作为服务器(发送方)或客户端(接收方)。如果是服务器,我们需要绑定到一...

    Boost UDP 程序

    对于UDP通信,Boost.Asio提供了一种简洁且强大的方式来发送和接收数据报(datagrams)。 要开始一个UDP通信,首先需要包含必要的头文件: ```cpp #include ``` 接下来,创建一个`boost::asio::io_service`对象,...

    UDP与服务器通讯demo

    1. **DatagramSocket**: Android中实现UDP通信的主要类是`DatagramSocket`,它代表一个UDP套接字,用于发送和接收数据报(datagrams)。开发者可以创建一个`DatagramSocket`实例,然后通过它来发送和接收数据。 2. ...

    一款Android平台UDP双向通信源码

    1. **DatagramSocket**:UDP通信的核心组件,它用于发送和接收数据报(datagrams)。在这个客户端中,DatagramSocket创建并配置以连接到服务器的特定端口。 2. **DatagramPacket**:封装要发送的数据或接收到的数据...

    ACE-tutorial

    - **数据报(Datagrams)**: 使用数据报进行数据传输,适用于不需要保证顺序但追求效率的场景。 - **多播(Multicast)**: 支持多播通信,可以将数据发送到多个接收者。 - **Memory Management**: 为了有效管理和分配...

    SMPTEST2022-72013-10.pdf

    文档中的"Seamless Protection Switching of SMPTE ST 2022 IP Datagrams"指的是在不中断服务的情况下对SMPTE ST 2022 IP数据报进行保护切换,这是SMPTE ST 2022系列标准中的一部分。这个标准涉及的内容包括流媒体的...

    UDPtalk.rar_网络编程_Java_

    DatagramSocket代表一个UDP套接字,可以用于发送和接收数据报(datagrams)。 3. 创建DatagramSocket: 创建DatagramSocket时,可以指定本地端口号,如果不指定,系统会自动分配一个。例如: ```java ...

Global site tag (gtag.js) - Google Analytics