Java网络编程,代码正确,控制台不显示接收的结果,但调试模式下又显示,请热心人帮忙解答,谢谢。 5C
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
//发送程序
public class UDPSend {

    public static void main(String[] args) throws IOException {
        //给本机发送消息
        InetAddress inet = InetAddress.getByName("127.0.0.1");
        byte[] data = "你好UDP".getBytes();
        DatagramPacket packet = new DatagramPacket(data, data.length, inet, 10000);
        DatagramSocket socket = new DatagramSocket();
        socket.send(packet);
        socket.close();
    }
} 

//接收程序

 import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;

public class UDPReceive {

    public static void main(String[] args) throws IOException {
        byte[] data = new byte[1024];
        //通过10000端口号接收数据
        DatagramSocket socket = new DatagramSocket(10000);
        DatagramPacket packet = new DatagramPacket(data, data.length);
        socket.receive(packet);
        int length = packet.getLength();
        //打印从UDPSend接收的数据
        System.out.println(new String(data,0,length));
        socket.close();
    }
}

问题是控制台不显示任何东西,但调试模式会显示"你好UDP。为什么?

4

8个回答

复制你代码在我ide里运行可以显示收到的文字,你在什么ide里运行的?注意要先启动UDPReceive再启动UDPSend

3
qq_42427767
周末丶ZH 厉害了
大约一年之前 回复
qq_42427767
周末丶ZH 首先复制你代码在我ide里运行可以显示收到的文字,然后看下你在什么ide里运行的?注意要先启动UDPReceive再启动UDPSend
大约一年之前 回复
weixin_39143963
weixin_39143963 一定要先启动server,再启动client
大约一年之前 回复
qq_37621279
塌鼻子巴巴鲁 我知道怎么回事了。在控制台右上角有个叫show console when standard out changes.需要选上这个才能显示结果。
大约一年之前 回复
qq_37621279
塌鼻子巴巴鲁 用的是eclipse,确定是先启动的UDPReceive,再启动的UDPSend。并且我把和这个例题给出的代码复制运行后控制台仍然是没有打印东西。
大约一年之前 回复

调试模式有东西显示,是因为调试时,在此处有断点,可以查看内容,这说明你的程序是没问题的。而正常运行时,输出之后界面一闪就关啦,你也就看不到啦,最后的办法,在输出后面,再加一条读取字符的命名,就可看到输出的内容啦。
加入读字符如char c = new java.util.Scanner(System.in).next().charAt(0);

2

可能是你启动的时候问题,先启动接收方,再开启发送方,这样试试。代码没有问题。

1
weixin_42471630
染指紅顏笑 meiijivvwi`2knvaovn
大约一年之前 回复

应该是执行顺序的问题, 可以改成循环发送 应该是能看到打印的

1

启动顺序不对,先启动接收,再开启发送就可以了。

1

先启动server,再启动client

0

首先呢,要复制你代码在我ide里运行可以显示收到的文字,然后看看你在什么ide里运行的?一定注意要先启动UDPReceive再启动UDPSend

0

可能是你启动顺序有问题,应该是先启动Sever,再启动Client;如果先启动Client,肯定由于服务器端没连接而没有效果。

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
js代码在调试状态执行正确,但是正常使用时没有反应
比如在一个普通的方法中存在一个ajax请求,在success回调函数中有一个方法,来将请求结果刷新到网页中。nnnfunction getAllDepartment(){n $.ajax({n url : 'getalldepartment',n data : null,n datatype : "json",n success : function(value) {n allDepa...
运行Maven项目控制台不显示结果
preference===>java===>installed JREs,选中当前JDK,添加变量:-Dmaven.multiModuleProjectDirectory=$M2_HOMEn原文地址:http://www.cnblogs.com/sprinng/p/5141233.html
android关于代码正确但是运行不显示相应的效果的原因
有的时候我们使用了和别人相同的代码做了一个功能,但是发现运行不能通过,这是什么原因呢。rn仔细检查完程序,试着添加了权限才运行显示出来了,添加权限是写程序中比较容易忽略的方面,在这里记录下这个解决bug的思考方向,以便以后遇到相同的问题可以想到这方面,试一下有可能就会解决bug。
js浏览器控制台不报错,但不运行下面的js代码
今天在写代码是碰到一个很奇葩的错误,在控制台不报错,但下面的js代码就是不执行,我就把下面的js代码放到最上面,可以执行,在这样一步一步往下放,最终找到了一段不是方法的js代码它就是一个js判断,但我在这个判断里面有return false,所以他下面的代码就不执行了,原来他已经跳出了整段js代码,这是一个不经意犯得小错误。解决办法就是如果这个return 没什么用就删了,有用就放到最下面的js代
sublime text 运行python时,控制台不显示结果
sublime text 运行python,ctrl+b,控制台不显示结果。nn网上找解决方案。删除配置文件,卸载重装。nn折腾半天,结果发现,是因为文件路径中包含中文 -_-|||...
运行Java,不显示控制台
很多朋友在WINDOWS下会用批处理去启动自己的java程序,一般的写法是运行class:java xx 运行jar:java -jar xxx.jar但是这样运行会有一个恶心的对话框停在那直到我们关闭程序。  于是很多人说可以这样运行class:start javaw xx运行jar:start javaw -jar xxx.jar   这种方法DOS窗口还是会一闪而过,这就算解决问题了吗?!网...
eclipse程序写好之后点击运行看不到控制台的解决办法
方法1、可以点击菜单栏的Windows找到Reset Perspective恢复eclipse的默认界面n方法2、如果方法1设置以后还是看不到控制台,可以点击菜单栏Windows找到Show View,点击Console,控制台就出来了。nn...
java代码显示正确执行,但为何数据未成功插入数据库?原因如下
java代码显示正确执行,但为何数据未成功插入数据库?原因如下rnrnrninsert into records (uid,ke) values ('"+data[i][0]+"','"+sum[i]+"')"rnrnrn当我在java里写上面代码时候,一直没有存进去数据库,控制台也不报错,并且我在后面还输出一个成功的话语,导致很懵比。rn这使得让我一直在网络上寻找。直到发现是事物没有提交设置se
Myeclipse运行程序时出现Console没有输出信息(只有<terminate>...)解决方法
出现这个是因为你在创建项目的时候选择了默认rnrn还有就是试试选择启动服务
求助打印预览的问题!
请帮忙解决,谢谢! 请帮忙解决,谢谢! 请帮忙解决,谢谢! 请帮忙解决,谢谢! 请帮忙解决,谢谢!
Eclipse中用两个控制台测试网络通信程序
服务器端:rn//: JabberServer.javan// Very simple server that justn// echoes whatever the client sends.npackage foo;nnimport java.io.*;nimport java.net.*;nnpublic class Server {n // Choose a port outside of
Mybatis控制台打印sql能查到数据,但是程序返回null
关于传参,Mybatis IN函数的用法,太马虎了浪费很多时间。nn错误实例:Mybatis xml配置文件nn控制台输出语句nnnn正确的Mybatis xml文件配置nn控制台输出语句nn
log4j日志信息没法像配置的样子显示到控制台或log文件中。
遇到过一个问题,按照正确的log4j.properties配置,并写了TestLog的测试类以测试log.debug()的日志错误信息,且配置了log4j.rootLogger=ERROR,stdout,R  ,但并没有显示到控制台以及log文件中。rn查找原因,发现问题是TestLog.java这个类必须放在(等同于)src文件夹下,(我是新建的source folder这个文件夹)。rn同时要
为什么Eclipse中修改代码,输出结果没有任何变化
刚刚测试了下hashset的用法,明明我改了代码,输出还是不变,和之前一样。真是ri了狗了。。n一定要切记:养成ctrl+s的习惯!我刚就是没有保存,找错找的我都怀疑人生了!n顺便总结下另外几个原因:nnn如果是没有编译的话,点击project里面的clean,可以只勾选所需编译的文件和编译所有的文件进行重新编译 。nnn可能是编写程序是不小心把project中的Build Automaticll...
usb调试已经打开,但是adb调试时不显示Android 设备,资源管理器可以正常读取文件
    确保usb调试已经打开,使用adb devices命令结果为空,但是打开资源管理器能正常读取手机的文件、sd卡;打开设备管理器看驱动是否正常果然显示有未能识别的设备,并且在列表中并没有看到Android Phone这一项解决办法:手动驱动,我在这里选择了一个通用设备,步骤如下:  在HM1S上右键--&amp;gt;更新驱动程序软件--&amp;gt;浏览计算机以查找驱动软件--&amp;gt;从计算机的设备驱动...
关于 Leetcode 上测试没错,提交有错的问题
文章优先发表在个人博客nnhttp://www.xdx97.com/#/single?bid=3e327a92-e084-1db0-eb7d-8cd27b75e5bfnn nn问题说明:在leetcode上刷题的时候,有时候会出现,测试的时候没有错,但提交就错。这就很头疼了nn这个问题我遇到几次,慢慢发现了其中的道理。分享给大家,nn1、如果你的 c/c++ 尽可能不要使用全局变量,这个leetc...
eclipse控制台不显示信息
window中点击preferences找到Run/Debug中的Console页面后,查看两个show是否打对勾,若有对勾,去掉对勾应用,之后相同的步骤,点击两个show,应用。关闭eclipse,之后打开控制台就会有显示的信息啦。 n...
测试代码运行后不报错,数据库也会生成表,但控制台不能输出。哪位大神能帮我解决?
package hibernate_day01;nnpublic class User {nprivate int uid;nprivate String username;nprivate String password;nprivate String address;nnpublic int getUid() {nreturn uid;n}npublic void set
sublimeText3 java编译并控制台输出
文前小酒在对sublime Text3 java编译配置前要做到的是电脑已经配置好java环境了开始表演n进入jdk安装目录,然后进入bin文件夹中(我的路径是D:\Programme\Java\jdk1.8.0_131\bin)n列表内容 新建一个runJava.bat文件,是bat!!!然后复制下面代码n@echo offncd %~dp1necho Compiling %~nx1......
R console中结果不显示和Rstudio程序框中不出现结果的解决办法
电脑使用R程序出现沉默,不给出任何结果,既不给出运行成功的结果,也不显示运行失败的提示。rn我个人在使用R语言时,遇到多次程序框中用打印调出对象名称结果出不来的问题,之前都是直接关掉R语言,由于前面操作对方而言比较重要,不想使用【重启】大招,最后找到了人大经济论坛上的方法,进行总结如下。rn方法一rn重启RStudio,重启电脑,不行的话重装RStudio和Rrn方法二rn工作目录下的.Rhistory文档...
sublime text3 使用ctrl+b,只有bulid结果,没有代码输出结果
场景:rn新建了一个.py,写好了按ctrl+b,弹框显示选择“python”或者“Python-Synatx Check”( 如下图所示 ),手残选了第二个,然后再按ctrl+b,就只有Bulid的结果(是否Bulid成功,用时多少秒),没有代码结果的输出rnrnrnrnrn解决办法:rn1、ctrl+shift+b,调出来这个弹框,选“Python”就可以了rn2、Tools >> Build
浏览器控制台突然输不出js中效果的小错误
练习一下js,打算控制台查看效果,结果控制台什么都输不出,调试代码也没有发现错误,后看到那个过滤器那里,把之前的link单词删掉chrome浏览器就显示出了错误提示nnnn大概的意思是无效的正则表达式:缺了一个/。。。。后来查看代码,,,我天注释的时候真的少了一个/,之后问题就解决了,后来又有问题nn nnnn大概的意思是arr这个变量没有定义,,,,,终于改后nn nn控制台终于打印出数据了。。...
解决VS2013控制台程序运行结束不显示请按任意键继续
在vs2013中许多人都遇到过运行程序都是一闪而过,很多人通过在最后一行添加getchar()或者暂停语句,可以实现我们看到结果的愿望。在微软的官方网站,vs2013和vs2010的改动就是没有像之前的vs05 08将空工程默认为console的,所以才不会显示按任意键退出, 一闪而过。通过手动将这个设置了,就会使得控制台像原来的一样显示按任意键退出。http://connect.microsof...
谷歌控制台界面怎么不显示method,如何设置。
今天用谷歌的控制台,查看一下network下的method,结果没找到,原来新版本的谷歌浏览器默认不显示method标签。nnnn百度了一下,原来解决方法很简单,在下图红色方框中,鼠标右击,勾选method,还可以选择其他选项比如 protocol(协议)nnnnnn效果如下:nnnn ...
浏览器控制台调试查看因js事件没有显示的PHP请求信息
在firefox中;nn当你发送某一个请求时看不到可视化效果,没有数据的显示,就F12打开控制台,nnnn这里是相应ajax请求到PHP后台,这里是接收了ajax传送的数组,打印数组的数量。nn因为这里在html里调用的是js代码的点击事件,所以这里看不到数据,同时也看不到PHP的报错以及相应的数据,dump()此时的打印效果只能在控制台中看到。nn步骤如下:nn执行某一个操作(即请求),F12打...
java网络编程(一)使用TCP协议完成客户端与服务端的数据传递
java网络编程(一)使用TCP协议完成客户端与服务端的数据传递
解决 captcha 图形验证码没有展示问题。
通常情况下,动态图形验证码显示不出来了,看一下tomcat中的temp文件夹是否存在。rntomcat 中的默认文件夹temp是个存储临时文件的文件夹,若是删除了动态验证码的信息就找不到存放位置从而就展示不出来了。rn(或者在项目目录下建立temp文件夹存储。【不建议】)
jfreechart_test1
图片会在tomcat的temp文件夹下生成,但无法显示,请帮忙调试,谢谢。
Java远程控制源码(附详细注释) - 另附Java网络编程15个经典实例
Java远程控制源码(附详细注释) : controlled.bat 启动被控端,不显示控制台,用任务管理器关闭 controlled_cmd.bat 启动被控端,显示控制台 JPcAnyWhereControlled.java main.bat 启动主控端,不显示控制台 main_cmd.bat 启动主控端,显示控制台 JPcAnyWhere.java
Java--从控制台输入数并显示
实现Java中的从控制台输入:public static void main(String[] args) {n /*构造一个Scanner对象,其传入参数System.in*/n Scanner scan = new Scanner(System.in);n int x = scan.nextInt();n System.out.println(&quot;输入的数字为:&quot; + x);n}利用下列方法读取...
CSDN出现输入有误,请重新提交
【问题】:今天写完一篇博客后,在我点击发布博客后,出现了nnnn【解决思路】: nn起初我认为是网络连接的问题,后来在多番检查确认无误后还是不行的情况下,我在网上查了一些资料后,得出的结论是:nn 标题中含有了字符“ &amp;lt;  ” 和  “  &amp;gt; ”是非法的n n  文章标签中有这两个也会出错n n以上是我查出的资料,仅供参考,可能不是十分完善。。。...
Java 单元测试如何断言(检查)控制台输出
关于在 JUnit 单元测试中如何断言某个函数的控制台输出已是我一个长久的问题. 虽然有控制台输出的函数有了副作用, 不能称之为一个纯函数, 在讲求函数式编程的今天, 纯函数是最好测试的, 所谓的 Data In, Data Out. 但总还是有这样的需求, 比如自己实现的某个日志框架的 Appender, 需要验证它向控制台的输出内容.nn我先前在项目中的办法是, 先把把标准输出定向到一个 
java工程有错但是代码没有错的解决方法
java工程有错但是代码没有错的解决方法nn今天遇到一个问题,代码没有报任何错,但是java工程显示有错。由于工程上午使用还是好的,所以可以排除时jdk不兼容导致的。在经历种种排查之后,发现是由于引用的包导致的错误。n解决办法:build path –&amp;gt; configure build path后将libraries中报×的jar包移除掉,工程报错消失。...
java接收控制台输入的三种方法
importrnjava.io.BufferedReader;  rnimportrnjava.io.IOException;  rnimportrnjava.io.InputStreamReader;  rnimportrnjava.util.Scanner;  rn  rn   // System.in和System.out方法rnrn   //缺点一: 该方法能获取从键盘输入的字符,但只能针
Excel中,公式正确显示,却有时候识别不了公式,计算不出结果
在Excel中,有时候公式正确,但是计算不出结果,可能由于Excel不能将文本框中的内容识别为公式导致的。rn可以在公式的参数里面加入英文空格,然后再将空格删除,按回车,这样可以解决。rnrnrn如下面公式:=COUNTA(表示!A:A)-1rn表示是一个工作表,按回车后,一直计算不出结果,可以在“表示”前面加入英文空格,然后再将其删除,再按回车。
Java网络编程TCP协议发送接收数据
一、客户端发送,服务器端接收nnnpackage net;nnimport java.io.IOException;nimport java.io.InputStream;nimport java.net.ServerSocket;nimport java.net.Socket;nn/*n * TCP协议接收数据:n * A:创建接收端Socket对象n * B:监听客户端连接,返回一个对应的So...
mybatis执行查询语句查询不到结果,控制台输出sql语句复制到数据库中能查到数据
今天用mybatis查询语句的时候,控制台输出的sql语句可以在mysql中可以正确执行,但是查询出来就是没有数据。 n原查询语句如下(为展示问题明确,将sql进行了简化):nnselect id="getListByQueryValue" parameterType="Map" resultType="Map">n SELECTn *n FROM
模拟用户登录情景,并且只能登录三次,只允许输入三次密码,如果密码正确则提示登录成功,如果密码三次均错误,则退出程序。
rn rnrn#includern#includern#includernint main()rn{rnchar password[]="123456";rnchar input[10];rnint i=0;rnfor(i=0;irn{rnprintf("please enter password:rn ");rnscanf("%s",input);rnif(strcmp(password,i
编写一个Java程序从键盘获分别取读取两个整数,并计算这两个整数之和
编写一个Java程序从键盘获分别取读取两个整数,并计算这两个整数之和
JAVA程序出错了,但是控制台并没有打印Exception的信息
    程序出错是很正常的,没有人能一次就写出不出错的程序。    就说一下我是怎么找错的吧,每个人都有自己的逻辑,我的方法可能并不适合你    有的时候JAVA程序运行直接结束但并不报错    1、第一你得知道你得程序在哪里,怎么个运行路线,(前台到后台肯定是有路径的)    2、断点会打吗,不会先去学习一下,不会断点的我是真的找不着    3、断点最好是打程序开始部分,再次重复刚才报错的操作 ...
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 人工智能培训谢谢 达内培训ios请