clwn.net
当前位置:首页 >> jAvA的soCkEt客户端能连接到C++的服务器端,但是收不到C++服务器端的数据 >>

jAvA的soCkEt客户端能连接到C++的服务器端,但是收不到C++服务器端的数据

这个你要具体的调试才能解决问题,光靠这几个字没有人能断定错误原因 ,我做过一个小项目 ,是用C#写的服务端,应该跟C++写的服务端一样的,毕竟都是微软的,我在项目里用C#写的程序连接没一点问题,用java就不行了,刚开始也是能连接到服务端但是收不到正确的数据,后来才发现是由于Unicode的编码问题,C#的服务端和JAVA客户端的编码方式 刚好是高8位和低8位对调了,你在调试的时候注意跟踪一下,看是不是同样的原因.如果是这个原因 ,只要把收到的字节进行还原了,希望我的经验 可以帮助到你.

重新安装一下

客户端向服务器端发出connect的时候,有没有成功?如果没有成功,自然无法收发数据.如果成功了,那么就是服务器端没有发送数据出来.

socket要指定端口,并且socket是tcp协议的,如果服务器端用c++必须保证端口可以连接,并且也是TCP协议.不过最好不要这样.

防火墙屏蔽了端口了吧

1. 看看端口是否有问题,服务器状态是否正常2. 能否将超时时间设置的久一点 个人意见,供参考

确保服务器已回了数据

下面是一个简单的通讯实例,进行Server和Client之间的文件传输..如果是简单的文本传输的话简化掉文本操作的内容即可..1.服务器端package sterning;import java.io.BufferedInputStream;import java.io.DataInputStream;import java.io.

监听你系统通信所用的端口,有数据就获取显示就可以了.例如你的服务器ip是168.12.1.16,使用的是2000端口号,Socket socket=new Socket("168.12.1.16",2000);DataOutputStream in=new DataOutputStream(socket.getInputStream());

class ClientChatThread extends JFrame implements Runnable{ boolean flag=true; DataInputStream dis; DataOutputStream dos; Socket c; JLabel lSend=new JLabel("请输入要发送的内容"); JTextField txtSendMessage=new JTextField(20);

相关文档
tfsf.net | fnhp.net | rpct.net | rxcr.net | tfsf.net | 网站首页 | 网站地图
All rights reserved Powered by www.clwn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com