How can I send data in binary form over a Java socket?(如何通过 Java 套接字以二进制形式发送数据?)
问题描述
我见过很多通过 Java 套接字发送序列化数据的示例,但我只想发送一些简单的整数和字符串.而且,问题是我正在尝试将这些信息传达给用 C 编写的二进制文件.
I've seen lots of examples of sending serialized data over sockets in Java, but all I want is to send some simple integers and a string. And, the problem is I'm trying to communicate these to a binary written in C.
那么,底线是:我怎样才能在 Java 中通过套接字发送一些字节?
So, bottom line: how can I just send some bytes over a socket in Java?
推荐答案
我真的不建议直接使用 Java Sockets 库.我发现 Netty(来自 JBoss)非常容易实现并且非常强大.Netty ChannelBuffer 类提供了许多用于编写不同数据类型的选项,当然,如果您愿意,还可以编写自己的编码器和解码器来将 POJO 写入流中.
I would really recommend not using the Java Sockets library directly. I've found Netty (from JBoss) to be really easy to implement and really powerful. The Netty ChannelBuffer class comes with a whole host of options for writing different data types and of course to can write your own encoders and decoders to write POJOs down the stream if you wish.
这个页面是一个非常好的入门 - 我能够在 30 分钟内使用自定义编码器和解码器制作一个相当复杂的客户端/服务器:http://docs.jboss.org/netty/3.2/guide/html/start.html.
This page is a really good starter - I was able to make a fairly sophisticated client/server with custom encoders and decoders in under 30 minutes reading this: http://docs.jboss.org/netty/3.2/guide/html/start.html.
如果你真的想使用 Java 套接字.套接字输出流可以包装在 DataOutputStream 中,它还允许您编写许多不同的数据类型,例如:
If you really want to use Java sockets. The socket output stream can be wrapped in a DataOutputStream which allows you to write many different data types as well, for example:
new DataOutputStream(socket.getOutputStream()).writeInt(5);
希望对你有用.
这篇关于如何通过 Java 套接字以二进制形式发送数据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何通过 Java 套接字以二进制形式发送数据?


基础教程推荐
- FirebaseListAdapter 不推送聊天应用程序的单个项目 - Firebase-Ui 3.1 2022-01-01
- 减少 JVM 暂停时间 >1 秒使用 UseConcMarkSweepGC 2022-01-01
- 如何使用 Java 创建 X509 证书? 2022-01-01
- 在 Libgdx 中处理屏幕的正确方法 2022-01-01
- Java:带有char数组的println给出乱码 2022-01-01
- Java Keytool 导入证书后出错,"keytool error: java.io.FileNotFoundException &拒绝访问" 2022-01-01
- 设置 bean 时出现 Nullpointerexception 2022-01-01
- “未找到匹配项"使用 matcher 的 group 方法时 2022-01-01
- 降序排序:Java Map 2022-01-01
- 无法使用修饰符“public final"访问 java.util.Ha 2022-01-01