佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1599|回复: 25

[Java]前辈请教导

[复制链接]
发表于 18-10-2006 05:46 PM | 显示全部楼层 |阅读模式
我有一个问题...
我在两个File...
Send.java...
Receive.java...
我要启动两个在同一时间...
我应该怎样??

我都把这两个File放在Assignment的Package里了...
可是... 里面只是Run一个...

Run Send.java...
就不RUN Receive.Java...
或者相反...


我用着JBuilder...
请前辈教导...


-----------------------------------------------
我要做一个Assignment是关于MulticastSocket...
可是我完全没有Java底...
我Download了JBuilder...
可是我在网上找的SampleCode...
我又不知道如何Run...
我GroupMember突然要我做... 明天就要交了...
我现在还是0%完成率...
请前辈帮忙...

要Run的例子...
http://www-128.ibm.com/developerworks/java/library/j-p2pdisc2/

http://www.velocityreviews.com/f ... ulticastsocket.html

[ 本帖最后由 伪君子 于 18-10-2006 11:29 PM 编辑 ]
回复

使用道具 举报


ADVERTISEMENT

发表于 18-10-2006 06:49 PM | 显示全部楼层
原帖由 伪君子 于 18-10-2006 05:46 PM 发表
我要做一个Assignment是关于MulticastSocket...
可是我完全没有Java底...
我Download了JavaNetBean...
可是我在网上找的SampleCode...
我又不知道如何Run...
我GroupMember突然要我做... 明天就要交了...
我 ...


java的socket programming应该不难。 不过。。

你完全没有java的底,然后要写socket programming,然后明天要交??
。。噢。。may god bless you..
回复

使用道具 举报

 楼主| 发表于 18-10-2006 06:51 PM | 显示全部楼层
被人摆上薹了...
不做不行...
可以教我吗?
我不想Fail这个Subject...

我有那个Idea去做...
不过不知道如何开始... =.=!!!
回复

使用道具 举报

 楼主| 发表于 18-10-2006 06:53 PM | 显示全部楼层
其实只是一个简单的System...
用MultiSocket...
做一个Vote的系统...
厄... 明白吗?

只要可以Vote到就行了...
几简单也可以...

[ 本帖最后由 伪君子 于 18-10-2006 06:54 PM 编辑 ]
回复

使用道具 举报

发表于 18-10-2006 07:18 PM | 显示全部楼层
那你要传播什么,只是vote又为何要multicast..
回复

使用道具 举报

 楼主| 发表于 18-10-2006 07:48 PM | 显示全部楼层
Assignment的重点是...
用MulticastSocket的Function来做投票...


就像当Client投票了给Server...
Server... MultiCastSocket投票结果给Client..

就像A是对还是错?
全部Client Send了给Server...
2个对... 3个错...
把答案MulticastSocket给Client...


恩... 明白吗???
回复

使用道具 举报

Follow Us
发表于 18-10-2006 08:46 PM | 显示全部楼层
原帖由 伪君子 于 18-10-2006 07:48 PM 发表
Assignment的重点是...
用MulticastSocket的Function来做投票...


就像当Client投票了给Server...
Server... MultiCastSocket投票结果给Client..

就像A是对还是错?
全部Client Send了给Server...
2个对 ...



明天要交。。。。

MIS
回复

使用道具 举报

 楼主| 发表于 18-10-2006 08:54 PM | 显示全部楼层
其实我已经知道无法完成的...
只是想尽力我能力做多少就多少...
1分也是分..............
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 18-10-2006 11:26 PM | 显示全部楼层
我有一个问题...
我在两个File...
Send.java...
Receive.java...
我要启动两个在同一时间...
我应该怎样??

我都把这两个File放在Assignment的Package里了...
可是... 里面只是Run一个...

Run Send.java...
就不RUN Receive.Java...
或者相反...


我用着JBuilder...
请前辈教导...
回复

使用道具 举报

发表于 18-10-2006 11:39 PM | 显示全部楼层
先compile去.class 先好不好?
用javac 的command..
回复

使用道具 举报

 楼主| 发表于 18-10-2006 11:56 PM | 显示全部楼层
已经有.Class了...

这是mcsend...
package assignment;
import java.net.*;  /* import networking package */
import java.io.*;   /* import input/output package */

public class mcsend {

  public static final int MIN_PORT = 1024;  /* min network port */
  public static final int MAX_PORT = 65535; /* max network port */

  public static void main(String argv[]) {

    InetAddress mcAddress=null;  /* multicast address */
    int mcPort=0;                /* multicast port */
    int ttl=1;                   /* time to live */
    BufferedReader stdin;        /* input from keyboard */
    String sendString;           /* string to be sent */
    byte[] sendBytes;            /* bytes to be sent */

    /* validate number of arguments */
    if (argv.length != 2) {
      System.out.println("Usage: mcsend " +
                         "<Multicast IP> <Multicast Port>");
      System.exit(1);
    }

    /* validate the multicast address argument */
    try {
      mcAddress = InetAddress.getByName(argv[0]);
    } catch (UnknownHostException e) {
      System.err.println(argv[0] + " is not a valid IP address");
      System.exit(1);
    }

    /* validate address argument is a multicast IP */
    if (! mcAddress.isMulticastAddress()) {
      System.err.println(mcAddress.getHostAddress() +
                         " is not a multicast IP address.");
      System.exit(1);
    }

    /* parse and validate port argument */
    try {
      mcPort = Integer.parseInt(argv[1]);
    } catch (NumberFormatException nfe) {
      System.err.println("Invalid port number (" + argv[1] + ")");
      System.exit(1);
    }

    if ((mcPort < MIN_PORT) || (mcPort > MAX_PORT)) {
      System.out.println("Invalid port number " + mcPort);
      System.out.println("Port should be in range " + MIN_PORT
                         + " to " + MAX_PORT);
      System.exit(1);
    }

    try {
      
      /* instantiate a MulticastSocket */
      MulticastSocket sock = new MulticastSocket();

      /* set the time to live */
      sock.setTimeToLive(ttl); // Java 1.0/1.1 use setTTL()

      /* prepare to read from the keyboard input */
      stdin=new BufferedReader(new InputStreamReader(System.in));

      System.out.println("Begin typing (return to send," +
                         " ctrl-C to quit):");

      while ((sendString=stdin.readLine()) != null) {

        /* convert keyboard input to bytes */
        sendBytes=sendString.getBytes();

        /* populate the DatagramPacket */
        DatagramPacket packet = new DatagramPacket(sendBytes,                                 sendBytes.length, mcAddress, mcPort);

        /* send the packet */
        sock.send(packet);
      }
      sock.close();

    } catch (IOException e) {
      System.err.println(e.toString());
      System.exit(1);
    }
  }
}


这是mcreceive...
package assignment;
import java.net.*;  /* import networking package */
import java.io.*;   /* import input/output package */

public class mcreceive {

  public static final int MAX_LEN  = 1024;  /* max receive buffer */
  public static final int MIN_PORT = 1024;  /* min network port */
  public static final int MAX_PORT = 65535; /* max network port */

  public static void main(String argv[]) {

    InetAddress mcAddress=null; /* multicast address */
    int mcPort=0;               /* multicast port */
    int ttl=1;                  /* time to live */
    boolean done=false;         /* variable for send loop */

     /* validate number of arguments */
    if (argv.length != 2) {
      System.out.println("Usage: mcreceive " +
                         "<Multicast IP> <Multicast Port>");
      System.exit(1);
    }

    /* validate the multicast address argument */
    try {
      mcAddress = InetAddress.getByName(argv[0]);
    } catch (UnknownHostException e) {
      System.err.println(argv[0] + " is not a valid IP address");
      System.exit(1);
    }

    /* validate address argument is a multicast IP */
    if (! mcAddress.isMulticastAddress()) {
      System.err.println(mcAddress.getHostAddress() +
                         " is not a multicast IP address.");
      System.exit(1);
    }

    /* parse and validate port argument */
    try {
      mcPort = Integer.parseInt(argv[1]);
    } catch (NumberFormatException nfe) {
      System.out.println("Invalid port number " + argv[1]);
      System.exit(1);
    }

    if ((mcPort < MIN_PORT) || (mcPort > MAX_PORT)) {
      System.out.println("Invalid port number " + mcPort);
      System.out.println("Port should be in range " + MIN_PORT
                         + " to " + MAX_PORT);
      System.exit(1);
    }

    try {

      /* instantiate a MulticastSocket */
      MulticastSocket sock = new MulticastSocket(mcPort);

      /* set the address reuse option */
      sock.setReuseAddress(true); // Java 1.4 and higher

      /* join the multicast group */
      sock.joinGroup(mcAddress);

      while (!done) {  /* loop forever */

        /* create a new DatagramPacket with an empty buffer */
        byte[] buf = new byte[MAX_LEN];
        DatagramPacket packet = new DatagramPacket(buf, buf.length);

        /* wait to receive packet into the DatagramPacket instance */
        sock.receive(packet);

        /* output the data from the packet received */
        System.out.println("Received " + packet.getLength() +
            " bytes from " + packet.getAddress() + ": "
            + new String(packet.getData(),0,packet.getLength()));
      }

      sock.leaveGroup(mcAddress);
      sock.close();

    } catch (IOException e) {
      System.err.println(e.toString());
      System.exit(1);
    }
  }
}


还是不知道如何... =.=!!
什么是"用javac 的command.. "????
而且... 可以用Command Prompt Run Code的吗?
回复

使用道具 举报

发表于 19-10-2006 12:03 AM | 显示全部楼层
哦。。那就先run server, 再run 几个client..
用 java 的command..

eg:
java mcsend
java mcreceive...
回复

使用道具 举报

 楼主| 发表于 19-10-2006 12:15 AM | 显示全部楼层
我已经有Class了...
可是Run Command Prompt... 有Error...
Exception in thread "main" java.lang.NoClassDefFoundError: mcsend

看来我的1分也冷过水了... =.=!!!

[ 本帖最后由 伪君子 于 19-10-2006 12:20 AM 编辑 ]
回复

使用道具 举报

发表于 19-10-2006 12:24 AM | 显示全部楼层
朋友。。你把他package去assignment 了嘛。。
你需要 java assignment.mcsend 啦
回复

使用道具 举报

 楼主| 发表于 19-10-2006 12:31 AM | 显示全部楼层
对不起...
我还是不能...
回复

使用道具 举报

发表于 19-10-2006 12:34 AM | 显示全部楼层
退一个directory level好不好。。从你可以看到[assignment]那边。。。
而且你要用java 来run... not javac..


你不是要做voting system吗。。怎么end up with 这样
唉~。。。无力
祝你好运。。。




p/s:老实说我也是java 新手。但不是programing新手。

[ 本帖最后由 tensaix2j 于 19-10-2006 12:53 AM 编辑 ]
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 19-10-2006 12:39 AM | 显示全部楼层
因为MultiCastSocket是重点...
VoteSystem只是一个辅助...


对不起...
我真的很"白"...
可是... 退了directory还是不能...
退了几个还是一样...
回复

使用道具 举报

发表于 19-10-2006 12:43 AM | 显示全部楼层
那你把package那行拿掉。。
去可以看到那两个.java file 的directory用javac 再compile过
然后用 java 来run..
回复

使用道具 举报

 楼主| 发表于 19-10-2006 01:02 AM | 显示全部楼层
哎...
还是不能...
看来我真的没希望了...
不过我真的谢谢你的帮忙...
回复

使用道具 举报

发表于 19-10-2006 01:06 AM | 显示全部楼层
没关系。我也是在学习。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 24-8-2025 02:57 AM , Processed in 0.130409 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表