我读过很多关于 UDP 与 TCP 的其他线程,但还没有真正找到任何可以正确回答我的设计问题的线程
我将要为一个项目开发的聊天网络将有 3 个主要应用程序:客户端、服务器和集线器(服务器)。
HUB服务器是主服务器,将所有服务器连接在一起形成网络。服务器将跟上正在创建的聊天室,换句话说,它将托管聊天室。客户端将用于连接到服务器以加入聊天室。
现在我主要关心的是,当从客户端到客户端、服务器到服务器或服务器到客户端发送或执行请求时,何时应该使用 UDP over TCP,反之亦然?
注意:整个聊天网络项目100% 基于文本,没有图形、网络摄像头、麦克风或文件共享功能。
我目前正在学习Java并使用我的命令提示符作为编译器.但每次我执行java命令后跟我的测试类"Hello",我得到以下错误消息:
Exception in thread "main" java.lang.NoClassDefFoundError: Hello (wrong name: hello/Hello)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:792)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
Run Code Online (Sandbox Code Playgroud)
现在我检查了我的"CLASSPATH"环境变量,它是正确的,如下所示:.; C:\ Program Files\Java\jdk1.7.0_25\bin; 我甚至试过删除.从CLASSPATH开始,但它没有做任何不同的事情.现在我的javac命令可以通过创建.java类的.class版本来正常工作.但我真的无法让它实际执行java命令.
我的类的名字是Hello,所以我输入了javac Hello.java来将我的文件编译为类文件并且它有效.但是当我输入:java Hello是我收到上述错误消息的时候.我已经在我创建的NetBeans IDE上测试了该程序,它完美无缺,没有任何错误.
有什么可能会阻止我执行我的java命令来运行.class文件?
我正在尝试使用指针进行一些练习,但似乎无法理解我在下面的示例中搞砸了的地方。我创建了两个整数变量并为它们分配了值。我还创建了一个整数指针并为其分配了第一个整数变量地址。然后我尝试使用 scanf() 将十六进制地址传递给指针,以便它更新其指向的地址。然后我尝试打印指针的十进制值,如果它正常工作应该是 200,但它仍然显示数字 1 值的原始地址,即 100。
#include <stdio.h>
int main()
{
int number1 = 100;
int number2 = 200;
int *p = &number1;
printf("Number 1 Value: %d \n", number1);
printf("Number 1 Address: 0x%X \n\n", &number1);
printf("Number 2 Value: %d \n", number2);
printf("Number 2 Address: 0x%X \n\n", &number2);
printf("Pointer Number 1 Value: %d \n\n", *p);
printf("Enter Number 2's Address to view it's value: ");
scanf("%X", *p);
printf("\nPointer Value: %d\n\n", *p);
return 0;
}
Run Code Online (Sandbox Code Playgroud)