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??回復??更多評論
總結
以上是生活随笔為你收集整理的java发送ipmsg_用Java向IPMSG发送消息的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: R.E.管理器Root Explorer
- 下一篇: 计算机能否代替传统教学设备,电子教案能否