java和C Socket通信问题!!

meixiaolong 2001-02-26 05:15:00
我有一个用C写的服务器端的Socket,输入输出流的内容都是byte型的,在客户端用的是java写的Socket,我想真接用DataOutputStream.writeInt(int)不用DataOutputStream.write(byte[]),可以吗?如果可以?应该怎样做?
...全文
289 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
meixiaolong 2001-06-05
  • 打赏
  • 举报
回复
给分了
meixiaolong 2001-03-03
  • 打赏
  • 举报
回复
关注
Hanks 2001-03-01
  • 打赏
  • 举报
回复
关注
meixiaolong 2001-03-01
  • 打赏
  • 举报
回复
关注
meixiaolong 2001-02-28
  • 打赏
  • 举报
回复
关注
meixiaolong 2001-02-27
  • 打赏
  • 举报
回复
关注
meixiaolong 2001-02-27
  • 打赏
  • 举报
回复
老兄,我现在不能用new String(byte[],"gb2312"),服务器端用的是C写的Socket程序,只接受byte类型,一个问题就是怎样奖"测试"两个字转成"6e2c8a66"
lmy2000 2001-02-27
  • 打赏
  • 举报
回复
试一试:
传输前先转化成iso-8859-1编码:"测试".getBytes("iso-8859-1");
接收后在转化回来如:new String(byte[],"gb2312");
meixiaolong 2001-02-27
  • 打赏
  • 举报
回复
但我直接用 "测试".getBytes(),Socket传送到服务端之后,显示出乱码,但我查过"测试"两个字的unicode码,是"\u6e2c\u8a66"然后定义一个4元素的byte数组,让第一个元素=0x6e
第二个元素=0x2c...这样传送过去后是正确的?我该怎样直接将"测试"这两字汉字转成"6e2c8a66"呢?各位兄弟,多谢了·!!!
flylt 2001-02-27
  • 打赏
  • 举报
回复
我做过的,没必要管那么多,全部转成byte即可,int、long等 需做函数转
String直接传有时是会发生错误的(至少我做Corba时就传不了)
meixiaolong 2001-02-27
  • 打赏
  • 举报
回复
关注
meixiaolong 2001-02-26
  • 打赏
  • 举报
回复
来来来,兄弟,给代例子看看,怎样个转法??
yangzi 2001-02-26
  • 打赏
  • 举报
回复
呵呵,老兄,还是按位传吧。
你可以省掉好多麻烦。

传汉字也一样好。转成UNCODE然后再传。
或者,你用GB2312也可以。然后,在该转的地方转一下。(废话。)
meixiaolong 2001-02-26
  • 打赏
  • 举报
回复
假设要用java传送一个汉字,应该怎办?
虎叔 2001-02-26
  • 打赏
  • 举报
回复
用4-byte传输一个int,注意高位在前

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧