一个关于Socket套接字的问题 一个关于Socket套接字的问题:就是我用UDP编程写个聊天工具时,发现那聊天只能一边说一句,不知道为什么 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 hehe,我瞎说几句啊 :D可能是你程序的问题,没有使用多线程,就一个线程,接收一段数据,显示出来,等待键盘输入,发送出去,然后再接收数据…… 是的,Java的套介子是阻塞的,你要两个线程来做事情了。 不是的我是GUI的 就是类市QQ那样 有输入信息先是客户端发个信息 SERVER能收到但是 我在SERVER的聊天窗口中输入信息 再发送给Client 它怎么收不到了 确定你的Client端的线程仍然运行,如果运行,确定是否有进行数据接收 先发送 才能接收吧好象 Client的receive都写在 send后 不知道 为什么 可以吗???有代码吗?? while(true) { s.receive(dp); String rcvd = new String(dp.getData(), 0, dp.getLength()); j.append(rcvd + "\n"); String outMessage=""; if(outputmessage!="") { outMessage = outputmessage; outputmessage = ""; if (outMessage.equals("bye")) { break; } String outString = "Client Say:" + outMessage; byte[] buf = outString.getBytes(); DatagramPacket out = new DatagramPacket(buf, buf.length, hostAddress, 4444); s.send(out); }我把 Client的receive端写在最前面 Server端发个包过来 结果没反映 while(true) { s.receive(dp); String rcvd = new String(dp.getData(), 0, dp.getLength()); j.append(rcvd + "\n");//把收到的消息写到文本育 String outMessage=""; if(outputmessage!="")//如果文本域中的输出消息不为空 发送数据包 { outMessage = outputmessage; outputmessage = ""; if (outMessage.equals("bye")) { break; } String outString = "Client Say:" + outMessage; byte[] buf = outString.getBytes(); DatagramPacket out = new DatagramPacket(buf, buf.length, hostAddress, 4444); s.send(out);//发送结果 怎么收不到 } 倾分相送, 受困JAVA这个问题好长时间,大侠请进,关于JAVA方法 数组尾加 散分题 如何保留2位小数!! JPanel切换内容的问题 求j2sedoc 中文版 怎样得到系统的所有字体! 用java怎么才能对网卡实现控制呢?谢谢大家~ 如何加载包 想學java,請大伙幫助 关于安装websphere的问题? 求取得汉字拼音的首字幕的算法(在线等待) 怎样才算是一个合格的java工程师,感觉自己做了一年的程序员,还停留在增删改查的阶段,就知道几个字符串,集合,JDBC等几个有限的类的用
先是客户端发个信息 SERVER能收到
但是 我在SERVER的聊天窗口中输入信息 再发送给Client 它怎么收不到了
while(true)
{
s.receive(dp);
String rcvd = new String(dp.getData(), 0, dp.getLength());
j.append(rcvd + "\n"); String outMessage="";
if(outputmessage!="")
{
outMessage = outputmessage;
outputmessage = ""; if (outMessage.equals("bye")) {
break;
}
String outString = "Client Say:" + outMessage;
byte[] buf = outString.getBytes();
DatagramPacket out = new DatagramPacket(buf, buf.length,
hostAddress, 4444);
s.send(out);
}我把 Client的receive端写在最前面 Server端发个包过来 结果没反映
{
s.receive(dp);
String rcvd = new String(dp.getData(), 0, dp.getLength());
j.append(rcvd + "\n");//把收到的消息写到文本育 String outMessage="";
if(outputmessage!="")//如果文本域中的输出消息不为空 发送数据包
{
outMessage = outputmessage;
outputmessage = "";
if (outMessage.equals("bye")) {
break;
}
String outString = "Client Say:" + outMessage;
byte[] buf = outString.getBytes();
DatagramPacket out = new DatagramPacket(buf, buf.length,
hostAddress, 4444);
s.send(out);//发送
结果 怎么收不到
}