标题:请教基于UDP的客户服务器模式的实现?VB.net,C#,C++,java编出来的都可以, ...
只看楼主
青苔
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2008-10-5
 问题点数:0 回复次数:0 
请教基于UDP的客户服务器模式的实现?VB.net,C#,C++,java编出来的都可以,给小弟我参考下,谢谢!
编写UDP服务器程序接受UDP客户端程序的命令,并根据命令向UDP客户机做出响应。当UDP客户机向服务器请求“getfile”命令时,UDP服务器向客户机发送制定文件input中的数据;当UDP客户机向服务器请求gettime命令时,UDP服务器向客户机发送系统当前时间;当UDP客户机向服务器请求其它任何命令时,UDP服务器向客户机发送“这不是正确的命令”。
UDP服务器程序的具体要求如下:
(1)要求程序为命令行程序。例如,可执行文件名为UDPServer.exe,则程序的命令行格式如下。
UDPServer server_port
其中,server_port为服务器的服务端口。
(2)要求将UDP服务器的状态显示在控制台上,具体格式如下。
UDPServer接收命令:……
UDPServer发送命令:……
(3)要求有良好的编程规范和注释。

UDP客户机程序的具体要求如下:
(1)要求程序为命令行程序。例如,可执行文件名为UDPClient.exe,则程序的命令行格式如下。
UDPClient server_addr server_port command
其中,server_addr为服务器的IP地址,server_port为服务器的服务端口,command为客户机发送的命令。
(2)要求将UDP客户机的状态显示在控制台上,具体格式如下。
UDPClient 发送命令:……
UDPClient 接受命令:……
(3)要求有良好的编程规范和注释。
[size=7][size=7]各位大哥,我是新手,了解不是很多,希望各位大哥帮我看下,如下代码,需要添加什么功能,才能完全上面的内容提要![/size][/size]import *;

public class TestNet
{
 public static void main(String[] args) throws Exception
 {
  InetAddress ia = InetAddress.getByName("compaq");
  String ipAdr = ia.getHostAddress();
  System.out.println(ipAdr);
 }
}
2.
import *;
import *;
public class GetTime {
     final private static int DAYTIME_PORT = 13;
     public static void main(String args[]) throws
             IOException {
       if (args.length == 0) {
         System.err.println("Please specify daytime host");
         System.exit(-1);
       }
       String host = args[0];
       byte message[] = new byte[256];
       InetAddress address = InetAddress.getByName(host);
       System.out.println("Checking at:"+ address);
       DatagramPacket packet = new DatagramPacket(message, message.length,address,DAYTIME_PORT);
       DatagramSocket socket = new DatagramSocket();
       socket.send(packet);
       packet =new DatagramPacket(message, message.length);
       socket.receive(packet);
       String time = new String(packet.getData());
       String is;
      System.out.println(The time at"+ host+is:"+time);
       socket.close();
     }
   }

3.
   import *;
   import *;
   import java.util.*;

   public class TimeServer {
     final private static int DAYTIME_PORT = 13;
     public static void main(String args[]) throws
             IOException {
       DatagramSocket socket =
             new DatagramSocket(DAYTIME_PORT);
       while (true) {
         byte buffer[] = new byte[256];
         DatagramPacket packet =
             new DatagramPacket(buffer, buffer.length);
         socket.receive(packet);
         String date = new Date().toString();
         buffer = date.getBytes();
         // Get response address/port
         // for client from packet
         InetAddress address = packet.getAddress();
         int port = packet.getPort();
         packet = new DatagramPacket(buffer, buffer.length,
                 address, port);
         socket.send(packet);
       }
     }
   }
搜索更多相关主题的帖子: UDP java 服务器 客户 
2008-10-30 16:06



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-241522-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015335 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved