社区
Java
帖子详情
socket 协议 服务端发送有消息头的byte[]数组,客户端怎么接受byte[]数组?
qq_29775423
2016-06-22 08:30:24
java socket编程:
服务端发送消息的头部添加4个byte字节用来记录文件数据大小,后面的为文件数据,这些数据以byte[]数组传输给客户端。 客户端该怎么接受byte[]数组,怎么获取前4个字节的文件大小,怎么获取文件数据?能给出客户端与服务端的程序吗。帮帮忙,在线等
...全文
588
2
打赏
收藏
socket 协议 服务端发送有消息头的byte[]数组,客户端怎么接受byte[]数组?
java socket编程: 服务端发送消息的头部添加4个byte字节用来记录文件数据大小,后面的为文件数据,这些数据以byte[]数组传输给客户端。 客户端该怎么接受byte[]数组,怎么获取前4个字节的文件大小,怎么获取文件数据?能给出客户端与服务端的程序吗。帮帮忙,在线等
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
GxTryer
2016-06-27
打赏
举报
回复
前4字节表示长度。取4字节,客户端就知道要接收数据包的长度。然后你从缓存去这个长度就可以了。 随便网上都能找到例子。
zhangweihan01
2016-06-22
打赏
举报
回复
前提:我也是初学者,不知道能不 解决你的问题,看你提供的信息也不太清楚,根据我的理解写了下面代码,你看看吧 Socket socket = new Socket("", 0); InputStream is = socket.getInputStream(); InputStreamReader isr = new InputStreamReader(is); BufferedReader br = new BufferedReader(isr); String firstline = br.readLine(); byte[] line = firstline.getBytes(); byte[] data = new byte[4]; for(int i=0; i<data.length; i++) { data[i] = line[i]; } String s = new String(data); int size = Integer.parseInt(s); 剩下的数据信息再用个byte数组截取一下应该就能得到了
Android端与
服务端
TCP通讯
利用TCP/IP
协议
,使用
Socket
在Android端与
服务端
进行简单的输入通讯
android
socket
通信实例程序
这是android
socket
通信的实例程序,具体请参考: http://blog.csdn.net/htttw/article/details/7574372
Android 建立
Socket
接收
服务端
数据,JAVA建立
Socket
服务端
发送
数据
/采用
byte
数组
按字节进行数据的接收 避免readline()方法的阻塞机制!获取数据时候我使用的是inputStream.read,读取效率没有readLine()高,readLine()使用时候需要分隔符,不然会发生阻塞的情况,无法获取到准确的数据,自己按需使用。使用Server
Socket
作为
服务端
,传入自己的端口号模拟长链接,当有
客户端
链接后,会在控制台输出连接成功字样,并
发送
"Hello,server!
Socket
socket
= new
Socket
("自己的IP", 端口号);
socket
中使用
byte
数组
或者是字符流传输数据
1、使用
byte
数组
传输 client: public static void test(){
Socket
socket
= null; BufferedReader br = null; PrintWriter pw = null; try { //
客户端
socket
指定服务器的地址和端口号
socket
= new
Socket
("127.0.0.1", 7890); S
java接收到的
byte
数组
转成16进制字符串和16进制字符串转
byte
数组
//近期在和C语言的
socket
做交互时 由于java端需要给
服务端
传C的结构体 所以所有数据需要转成
byte
数组
传输 下一篇会写如何把数据拼接成
byte
数组
接受
到的也是
byte
数组
而发来的则是超出
byte
大小范围的字节 这时直接转string则会出现乱码 因为那边传来的数据不是按string的 是按照16进制的数字转换的
接受
的会有负值的情况 直接转则乱码 这里在网上找到一些资料
Java
51,411
社区成员
86,018
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章