社区
Eclipse
帖子详情
求救!java问题!!紧急!!
sigu199011
2011-07-05 08:10:13
网络设计:要求利用JAVA实现UDP协议的基本功能 ,UDP,不能保证数据包接受的可靠性和接受的先后次序。最好能实现像传送数据,接收有些乱序,有丢失的数据,能统计丢失率。图形化更好,时间紧急,希望各路大侠相救!
...全文
89
7
打赏
收藏
求救!java问题!!紧急!!
网络设计:要求利用JAVA实现UDP协议的基本功能 ,UDP,不能保证数据包接受的可靠性和接受的先后次序。最好能实现像传送数据,接收有些乱序,有丢失的数据,能统计丢失率。图形化更好,时间紧急,希望各路大侠相救!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sigu199011
2011-07-08
打赏
举报
回复
无言。
sigu199011
2011-07-08
打赏
举报
回复
算了,不问了
sigu199011
2011-07-06
打赏
举报
回复
怎么就没人帮呀?说点思路也行啊?
import java.io.*;
import java.net.*;
public class UDPEchoServer {
private static final int ECHOMAX=255;
public static void main(String[] args)throws IOException{
if(args.length!=1){
throw new IllegalArgumentException("Parameter(s):<Port>");
}
int servPort=Integer.parseInt(args[0]);
DatagramSocket socket=new DatagramSocket(servPort);
DatagramPacket packet=new DatagramPacket(new byte[ECHOMAX],ECHOMAX);
while(true){
socket.receive(packet);
packet.setLength(ECHOMAX);
}}}
提示出错:Exception in thread "main" java.lang.IllegalArgumentException: Parameter(s):<Port>
at UDPEchoServer.main(UDPEchoServer.java:7)
这是服务端,客户端也类似,但这个代码就说参数不正确,请大家赐教!
飞跃颠峰
2011-07-06
打赏
举报
回复
1楼正解 楼主好运
sigu199011
2011-07-06
打赏
举报
回复
哦,谢谢楼上的,不过我想在eclipse中运行,不在cmd中运行行吗?但是在eclipse中根本运行不了,就出现上面错误,这是我的客户端,也运行不了,
public class UDPEchoClientTimeout {
private static final int TIMEOUT=1000;
private static final int MAXTRIES=5;
public static void main(String[] args)throws IOException{
if((args.length<2)||(args.length>3)){
throw new IllegalArgumentException("Parameter(s):<Server><Word>[<Port>]");
}
InetAddress serverAddress =InetAddress.getByName(args[0]);
byte[] bytesTosend=args[1].getBytes();
int servPort=(args.length==3)?Integer.parseInt(args[2]):9;
DatagramSocket socket=new DatagramSocket();
socket.setSoTimeout(TIMEOUT);
DatagramPacket sendPacket=new DatagramPacket(bytesTosend, bytesTosend.length,serverAddress,servPort);
DatagramPacket receivePacket=new DatagramPacket(new byte[bytesTosend.length],bytesTosend.length);
int tries=0;
boolean receivedResponse=false;
do{ socket.send(sendPacket);
try{
socket.receive(receivePacket);
if(!receivePacket.getAddress().equals(serverAddress)){
throw new IOException("Received packet from an unknown source"); }
receivedResponse=true;
} catch(InterruptedIOException e){
tries+=1;
System.out.println("Timed out,"+(MAXTRIES-tries)+"more tries...");
}
}while((!receivedResponse)&&(tries<MAXTRIES));
if(receivedResponse){
System.out.println("Recetived:"+new String(receivePacket.getData()));
}else{System.out.println("No response--giving up");}
socket.close();
}
}
我直接在myeclipse中用java application运行,都没有让我带参数的机会啊,我是在一台机器上运行的,是不是我没有传送数据啊,我不知道在哪儿传?那个args.length怎么来的呢?是不是整个程序仅仅是个框架,还要自己添东西?这也是我在参考书上找的代码,我不知道怎么改???我对java网络编程懂得不多,见笑了,希望进一步指教!!心急.
飞跃颠峰
2011-07-06
打赏
举报
回复
if(args.length!=1){
throw new IllegalArgumentException("Parameter(s):<Port>"); }
你的条件里已经说明了,抛出错误的原因是args.length!=1
也就是你执行程序的时候所带参数不是1个(0个或2个及更多)
你执行的时候带个参数,比如:
java UDPEchoServer 1111
就不会抛这个错了
TKD03072010
2011-07-05
打赏
举报
回复
又见作业贴...
自己动手
丰衣足食
Android-一键
求救
app
大白一键
求救
是一款有短信
求救
功能的安卓 App,外出必备安全应用,发生危险情况时可一键发送
求救
短信给家人和朋友,并包含地理位置,增大获救几率。
Java
智慧化养老社区平台后台管理系统源码.zip
Java
智慧化养老社区平台后台管理系统源码.zip
java
实用手电筒v1.0实用手电筒v1.0实用手电筒v1.0
实用手电筒v1.0实用手电筒v1.0实用手电筒v1.0 实用手电筒v1.0实用手电筒v1.0
基于Android系统的户外助手
Java
设计源码
该项目是一款基于Android系统的户外助手应用程序设计源码,包含3324个文件,主要语言为
Java
。文件类型涵盖1921个PNG图片、1230个XML布局、59个
Java
源代码、32个SO库、32个数据文件、18个JPG图片、4个JAR库、3个Gradle构建文件、2个Git忽略文件和2个文本文件。该应用旨在提供户外活动所需的辅助功能。
基于
java
的在线医疗服务系统的开题报告.docx
基于
java
的在线医疗服务系统的开题报告.docx
Eclipse
58,448
社区成员
49,461
社区内容
发帖
与我相关
我的任务
Eclipse
Java Eclipse
复制链接
扫一扫
分享
社区描述
Java Eclipse
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章