Java 服务器套接字,客户端采用 C 语言
Java Server Socket with Client in C
我用java编写了服务器套接字代码。相关行是:
byte[] bRecieved = new byte[440] ;
1int i =in.read(bRecieved);
Arrays.toString(bRecieved);
如果客户端是用 java 编写的,这工作正常
byte[] bSend = {1,2,3,4};
DataOutputStream out =
new DataOutputStream(outToServer);
out.write(bSend);
但是客户端是用C++写的。发送代码为:
if (client.connect(serverIP, serverPort)) {
String msg="Hello Server";//Message to be sent
client.println(msg);//send the message
}
我的问题是,我如何与想要字节的 java 服务器通信?连接成功,字节打印在服务器控制台上。但它们不是"你好服务器"。我是否必须遍历字节并将它们解释为字符?字符和 int 在 C++ 中是 1 个字节。
如有可能,请澄清这一情况。提前感谢!
您为
C++套接字使用什么库?
您可以尝试冲洗流?
默认情况下,C++客户端是行缓冲的。 这意味着它实际上不会发送数据,直到将换行符推送到出站数据上,或者保存要发送的数据的缓冲区填充超过某个点(取决于系统)。 如果您想在操作中看到它,请将msg
字符串设置为 "Hello Servern"
。 您的数据应立即发送。
flush()
命令说,"立即发送所有数据,无论缓冲区中有多少数据。 因此,您可以选择彼此执行,调用flush()
或附加换行符。 当然,如果您使用换行符,Java 进程除了字符串之外还会收到一个换行符,这可能是您想要的,也可能不是您想要的。 通常,在执行网络操作时,您希望在向出站缓冲区添加完内容时调用flush()
。
相关文章:
- "unknown ca"自生成的 CA、证书和客户端/服务器
- 如何将函数集合传递给客户端类,以便将它们当作客户端类本身的成员使用
- 使用调试/崩溃报告将应用程序部署到客户端
- 如何在本地机器上运行c++和javascript客户端代码(hackerbank风格)
- 如何通过套接字将文本文件的内容从服务器发送到客户端
- 从服务器传输到客户端的消息不会出现
- OpenSSL TLS服务器-使用客户端证书白名单
- 当服务中的事件被触发时,如何将响应从服务发送回客户端?
- 我可以与 python 服务器而不是 c++ 客户端建立 tcp/ip 套接字吗?
- 提升 Asio TCP 服务器 处理多个客户端
- boost::asio UDP 广播客户端仅接收"fast"数据包
- 如何绑定 C++ gRPC 客户端的网络接口
- C++套接字客户端到 Python 服务器未创建连接
- 用于解析 win64 堆栈跟踪的命令行客户端(可以访问符号服务器)
- 将相机数据从服务器实时流式传输到客户端
- 如何将 Firebase 与基于 Linux 的客户端应用配合使用,以便与服务器进行双向消息通信
- PHP Profiler语言 - 使用 C++ 从 PHP 扩展获取客户端 IP 和 URL
- 语言之间的服务器客户端首选项
- Java 服务器套接字,客户端采用 C 语言
- Python和C语言的服务器和客户端