socket通信-关于socket编程在java与c下的传输问题

问题描述

关于socket编程在java与c下的传输问题

最近在做一个项目,使用c写的客户端,用java写的服务器,客户端传输结构体,采用函数memcpy转换为字符串传输,那么在服务器端应该如何接受并解析??目前为止本人一直接受到的都是乱码

解决方案

Java Socket 网络编程问题剖析
Java socket编程时readLine()问题
网络编程感想(一)基于socket传输延迟问题
----------------------

解决方案二:

检查双方编码是否一致?

解决方案三:

是不是输入流和输出流所使用的编码集不一致。

解决方案四:

是不是输入流和输出流所使用的编码集不一致。

解决方案五:

是不是输入流和输出流所使用的编码集不一致。

解决方案六:

先传递字节看有没问题,再把接收的字节进行编码转换,一步步调

解决方案七:

建议把结构体的内容按一定格式转换成字符串传出去,再把接收到的字符串解释出来放回结构体中

解决方案八:

本人对C不熟悉,不过以前也写过java跟C交互的代码,都是以二进制流发送与接受的,代码如下,你自己发挥吧。

soc = new Socket(ip,port);
soc.setSoTimeout(timeOut);
//发送报文
os = soc.getOutputStream();
os.write(reqSb.toString().getBytes(CodeSet));
os.flush();
//接听报文
is = soc.getInputStream();
byte[] lenByte = new byte[4];
String lenStr = "";
is.read(lenByte, 0, 4);
lenStr = new String(lenByte, 0, 4, "gbk");
// log.info("响应报文长度:"+lenStr);
int size = Integer.parseInt(lenStr);
bodyBuff = new byte[size];
is.read(bodyBuff, 0, size);

    String rspStr = new String(bodyBuff,0,bodyBuff.length,"gbk");

    log.info("应答报文:#"+rspStr+"#");
时间: 2024-12-16 08:23:08

socket通信-关于socket编程在java与c下的传输问题的相关文章

socket-安卓 Socket通信,Socket连接不上,程序就在真机崩溃但在模拟器上正常

问题描述 安卓 Socket通信,Socket连接不上,程序就在真机崩溃但在模拟器上正常 class ReceiveData extends Thread { int i=1; private void reconnect( ) { Log.i("第"+i+"次连接","reconnect刚开始执行"); try { Log.i("第"+i+"次连接","Socket之前"); Sock

c# socket通信-c# socket开发应该怎么做??

问题描述 c# socket开发应该怎么做?? 关于socket开发,有什么比较好的栗子或者封装好的模块没?通信的时候缓冲区怎么处理?数据不连续怎么处理?怎么判断数据是否完全到达了? 解决方案 这些问题自己搜就好了,这里随便说几句,你更不懂 解决方案二: Socket一般用来封装更好的库来使用,没有直接单单的使用socket做什么,现在的IM通讯,文件传输都是socket,但是这些都有现成的封装库,底层是用SOCKET实现的

安卓 java socket ip-手机安卓客户端和电脑服务器进行socket通信,为什么socket不通?

问题描述 手机安卓客户端和电脑服务器进行socket通信,为什么socket不通? 手机安卓客户端和电脑服务器进行socket通信,程序都是java写的,客户端socket函数填的是电脑的外网ip(百度搜出来那个),手机用的是3g信号,但是socket不通..是ip填错了吗? 解决方案 楼主 我不会 你要是实现了 可以和我交流一下么?

Android socket通信,数据读取。

问题描述 Android socket通信,数据读取. public class ChatRoom extends ActionBarActivity { protected TextView tv_chat_show; protected EditText ed_chat_input; protected Button btn_send; protected ActionBarActivity that; protected String receiverMsg; protected Stri

socket通信收发错位的问题

问题描述 socket通信收发错位的问题 本人正在写一个带有简单文件和文件夹传输功能的小程序,文件的传输一切正常,但是在传文件夹的时候,有一定几率会有某个文件的收发出现错位的现象,导致传输错误,代码大致如下:(缓冲区中的值我直接用含义代替了,实际前后还有很多代码,数据我是放到char数组中的) 服务端:(s为socket,buff为缓冲区) 发送文件夹(路径) { 查找文件的循环,使用CFileFind,这里直接从找到某个文件开始,每个文件都会进入到下面的代码 if(path为目录) { sen

Android中Socket通信的实现方法概述_java

本文实例简述了Android中Socket通信的实现方法,具体内容如下: 一.socket通信概述 通俗的来说套接字(socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元.它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口. 应用层通过传输层进行数据通信时,TCP会遇到同时为多个应用程序进程提供并发服务的问题.多个TCP连接或多个应用程序进程可能需要通过同一个TCP

深入浅出讲解:php的socket通信原理_php技巧

对TCP/IP.UDP.Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵.那么我想问: 1.  什么是TCP/IP.UDP? 2.  Socket在哪里呢? 3.  Socket是什么呢? 4.  你会使用它们吗? 什么是TCP/IP.UDP? TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网(WANs)设计的. UDP(User Data

unity + mfc socket通信问题

问题描述 unity + mfc socket通信问题 新手小白.. 用MFC串口通信写了一个读取GPS仪器数据的程序,想用读取的GPS数据作为位置数据控制unity中物体的运动.Unity与C++之间进行socket通信 按照这篇文章做了一遍,总是提示"服务器连接失败".... 求大神相助!!!! 解决方案 HiSocket---unity中实现socket通信Unity&Socket使用TCP通信学记一

php socket通信简单实现_php实例

socket通信的原理在这里就不说了,它的用途还是比较广泛的,我们可以使用socket来做一个API接口出来,也可以使用socket来实现两个程序之间的通信,我们来研究一下在php里面如何实现socket通信. 由于socket服务端的代码要监听端口,等待接收请求,所以php在做socket服务的时候需要将php文件运行在CMD里面. 如果要使php文件可以在CMD里面运行,则需要进行如下设置: 1.添加环境变量,名字为PHP_HOME,值为php文件安装目录下的.exe文件地址,如D:\wam