java发送ipmsg_用Java向IPMSG发送消息

# re: 用Java向IPMSG发送消息

hehe but No File Packages Defined on sourceforge.

IP MSG程序效率写的很高

曲强 Nicky 评论于 2007-05-31 18:51  回复  更多评论

# re: 用Java向IPMSG发送消息[未登录]

@曲强 Nicky

可以从CVS下载到。

乱78糟 评论于 2007-05-31 22:20  回复  更多评论

# re: 用Java向IPMSG发送消息

给个下载地址 下了一个没有runtime.properties。。。

Sun 评论于 2007-06-01 10:15  回复  更多评论

# re: 用Java向IPMSG发送消息

@Sun

在Eclipse里新建CVS项目:

CVS地址:

:pserver:anonymous@ipmsg.cvs.sourceforge.net:/cvsroot/ipmsg

我已经打包,添加了下载地址。

乱78糟 评论于 2007-06-01 10:45  回复  更多评论

# re: 用Java向IPMSG发送消息

你能运行起来么?ipmsg.util.IPMPref是不是要一个runtime.properties。。。

Sun 评论于 2007-06-01 14:19  回复  更多评论

# re: 用Java向IPMSG发送消息

cvs的项目版本太老,而且应该叫聊天工具

曲强 Nicky 评论于 2007-06-01 15:35  回复  更多评论

# re: 用Java向IPMSG发送消息

@Sun

可以运行。

至于runtime.properties,在ipmsg.util.IPMPref中,如下:

private static final String HOME_PREF_FILE = ".ipmsg";

...

P_FILE = "runtime.properties";

...

try{

if(new Boolean(pref.getProperty("useHomePrefFile")).booleanValue() &&

(s = System.getProperty("user.home")) != null &&

!s.equals("")){

P_FILE = s + System.getProperty("file.separator") + HOME_PREF_FILE;

}

} catch (MissingResourceException ex) {

ex.printStackTrace();

}

直接在根路径下编译:javac *.java

运行:java Main

就可以了。

不过,界面有一部分乱码,这是因为日文的缘故。

你可以修改:ipmsg\util\Cp932.java

运行后,会在C:\Document and Setting\用户名 目录下生成一个.ipmsg的文件。这就是配置文件。

tripper 评论于 2007-06-01 16:47  回复  更多评论

# re: 用Java向IPMSG发送消息

对接受消息的ipmsg版本有限制么?不是java实现的IPMSG可以收到这种方式发送的消息么?

zhengbowen 评论于 2007-06-01 16:48  回复  更多评论

# re: 用Java向IPMSG发送消息

@曲强 Nicky

这个Java的版本是比较老了,运行效率也不咋地。

tripper 评论于 2007-06-01 16:50  回复  更多评论

# re: 用Java向IPMSG发送消息

@zhengbowen

Windows平台的IPMSG可以收到Java版的IPMSG发送的消息,因为它们发送和接受数据包的格式是一样的。

不过,我只在 IPMSG 2.06 Winows XP SP2平台做过测试。

其他版本没试过。

tripper 评论于 2007-06-01 16:55  回复  更多评论

# re: 用Java向IPMSG发送消息

@tripper

压根就没找到在哪有这个runtime.properties。。。

这个应该不是自己生成的吧

你那有?

发一个出来吧

Sun 评论于 2007-06-01 18:24  回复  更多评论

# re: 用Java向IPMSG发送消息

@Sun

正常情况下是不会产生这个文件。

请注意下面几句:

...

P_FILE = "runtime.properties";

...

try

...

//s= "C:\Document and Setting\用户名"

s = System.getProperty("user.home")

...

//P_FILE = "C:\Document and Setting\用户名\.ipmsg"

P_FILE = s + System.getProperty("file.separator") + HOME_PREF_FILE;

...

catch(...)

...

正常情况下, P_FILE,也就是配置文件的路径在try块中改成了:

"C:\Document and Setting\用户名\.ipmsg"

如果出现了异常,才使用P_FILE原来的值:"runtime.properties"

tripper 评论于 2007-06-01 18:39  回复  更多评论

# re: 用Java向IPMSG发送消息

帅哥 给个联系方式吧 我现在还没搞明白这个配置文件怎么回事。。。

就算是改成C:\Document and Setting\用户名\.ipmsg

也得有这个文件是不

Sun 评论于 2007-06-02 09:43  回复  更多评论

# re: 用Java向IPMSG发送消息

@Sun

QQ:76551602

tripper 评论于 2007-06-02 10:26  回复  更多评论

# 技术成长的过程

MyName 评论于 2007-06-02 13:42  回复  更多评论

# re: 用Java向IPMSG发送消息

@tripper

我只用上面的发送消息的示例代码发送消息后接受的IPmsg(2.06版)没有任何反映,环境是window2003+jdk1.4.2,接受方为自己或相同环境的另一台机器都没有反映。用java版的IPMSG发送消息其他机器的win版可以正常收到。是不是上面的示例代码需要加上握手过程啊?

zhengbowen 评论于 2007-06-04 09:22  回复  更多评论

# re: 用Java向IPMSG发送消息

@zhengbowen

看看是代码执行完了没有反应,还是一直没有执行完?

tripper 评论于 2007-06-04 09:36  回复  更多评论

# re: 用Java向IPMSG发送消息

@tripper

代码执行完了,执行到

socket.receive(packet);// 接收回应

时会被阻塞,但发送消息的过程已经完成了,将该句注释掉后程序能从头到尾执行完而且没有报错。

zhengbowen 评论于 2007-06-04 10:43  回复  更多评论

# re: 用Java向IPMSG发送消息

@zhengbowen

>将该句注释掉后程序能从头到尾执行完而且没有报错

那么IPMSG可以接收到消息吗?

乱78糟 评论于 2007-06-04 13:49  回复  更多评论

# re: 用Java向IPMSG发送消息

@乱78糟

>那么IPMSG可以接收到消息吗?

收不到!

zhengbowen 评论于 2007-06-04 15:03  回复  更多评论

# re: 用Java向IPMSG发送消息

单独写一个消息的监听是可以收到的:

DatagramSocket ds = new DatagramSocket(2425);

byte [] buf=new byte[1024];

DatagramPacket dp = new DatagramPacket(buf,buf.length);

ds.receive(dp);

System.out.println(new String(dp.getData(),0,dp.getLength())+" from "+dp.getAddress().getHostAddress()+":"+dp.getPort());

所有怀疑是发送消息的格式问题或是需要先完成“握手”后才能用上面的TestIPMSG来发送消息。请问有人直接用上面的TestIPMSG成功将消息发给其他版本IPMsg的么?

zhengbowen 评论于 2007-06-04 15:11  回复  更多评论

# re: 用Java向IPMSG发送消息

@zhengbowen

byte[] buffer = ("1:" + new Date().getTime() + ":" + SENDER + ":" + HOST

39 + ":" + IPMSG_SENDMSG + ":" + MSG_CONTENT).getBytes();

你把buffer的值打出来,看看是不是数据格式错误(比如不应该出现 : 的地方写了 : 号)。

tripper 评论于 2007-06-04 15:13  回复  更多评论

# re: 用Java向IPMSG发送消息

代码是:

String msg="1:"+new Date().getTime()+":"+SENDER+":"+HOST+":"+IPMSG_SENDMSG+":"+MSG_CONTENT;

byte[] buffer =msg.getBytes();

System.out.println("msg="+msg);

System.out.println("buffer="+buffer);

结果是:

msg=1:1180941554265:zhengbowen:AVIDM-ZHENGBW:32:Hello World!

buffer=[B@affc70

1:1180941554265:zhengbowen:AVIDM-ZHENGBW:32:Hello World!

不知道转为字节后前边多出来的是什么?

zhengbowen 评论于 2007-06-04 15:24  回复  更多评论

# re: 用Java向IPMSG发送消息

>不知道转为字节后前边多出来的是什么?

找到原因了 呵呵

转换后的buffer就是:[B@affc70

而最后一行的:1:1180941554265:zhengbowen:AVIDM-ZHENGBW:32:Hello World! 是下面这就话打出来的:

System.out.println(message); // 显示对方返回的信息

zhengbowen 评论于 2007-06-04 15:35  回复  更多评论

# re: 用Java向IPMSG发送消息

发送消息时乱码怎么处理?

xiaojiang 评论于 2007-06-06 10:57  回复  更多评论

# re: 用Java向IPMSG发送消息[未登录]

@xiaojiang

ipmsg.util.Cp932

这个是日文转码用的。

方法toJIS(String s)

和toCp932(String s)其实可以不用。

你可以自己调试一下。

tripper 评论于 2007-06-06 12:23  回复  更多评论

# re: 用Java向IPMSG发送消息

请问Cp932这个类要怎么改才能没有乱码,我不用这个类也会有乱码.

linlin2005 评论于 2008-03-20 10:52  回复  更多评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值