我的 JAVA 的客户端 Socket 为什么与用 C++ 做的服务器端连不上?

icessl 2001-10-14 12:25:17
我用 VC++ 做了一个 Socket 服务器端的程序,它在 3000 端口上侦听。
我的 JAVA 客户端向这个服务器发起连接,代码如下:
Socket s;
try
{
s=new Socket("10.2.16.51",3000);
} catch(IOException e)
{
s=null;
}
10.2.16.51是服务器的 IP 地址。这个程序就是不灵。
我用 VC++ 做了一个客户端的 Socket 程序,它能与服务器连上,看来服务器一侧
没有问题。各位大侠看看,我的 JAVA 程序错在哪儿?
...全文
156 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
javamonkey 2001-10-14
  • 打赏
  • 举报
回复
可能是用的语言不一样吧。我想他们互相通讯由于信息格式不一样或者规则不一样导致通讯失败
Kert_ake 2001-10-14
  • 打赏
  • 举报
回复
just a test::
socket.getOutputStream().write("...");//write something
then OutputStream.flush()
OutputStream.close()
socket.close()
//-------------
then wait and see the action of your server
icessl 2001-10-14
  • 打赏
  • 举报
回复
对了,我调试过了,它就陷到 s=new Socket("10.2.16.51",3000) 里不出来了,
此时服务器已经打开,但没有动静。
cxj_2000 2001-10-14
  • 打赏
  • 举报
回复
你用catch(UnknownHostException e)
{
System.out.println(e.toString)
}
看看,
难道这程序不报错吗?
icessl 2001-10-14
  • 打赏
  • 举报
回复
服务器一侧的程序是老程序,已经工作了有 3 年了。它有一个监视窗口,一旦有客户
接入,它就把这个客户的 IP 地址打印出来。如果客户端也是用 VC++ 写的程序,或者
干脆就用 telnet 10.2.16.51 3000,服务器 telnet 都能正常工作。唯独这个 JAVA
不行。
10.2.16.51 中的点是 ASCII 的点,不是汉字的点,这个我查了好几次了。
谁能帮我?
Yezq_ln 2001-10-14
  • 打赏
  • 举报
回复
首先要服务器没错误哦。
是不是"10.2.16.51" 中的点用的是中文的"10。2。16。51"
这在有些编辑器里看不出来。
我碰到过这种情况,太变态了。
lfb1978 2001-10-14
  • 打赏
  • 举报
回复
应该能呀
czb 2001-10-14
  • 打赏
  • 举报
回复
好象没有错啊
Kert_ake 2001-10-14
  • 打赏
  • 举报
回复
你怎么知道没连上?
Kert_ake 2001-10-14
  • 打赏
  • 举报
回复
不可能

62,616

社区成员

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

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