linux下的socket接口函数:
复制代码
1send(,void*data,);
复制代码
1receive(,void*data,);
window下的socket接口函数:
复制代码
1send(,FAR const char *data,);
复制代码
1recieve(,FAR const char *data,);
如果服务器在linux端,而客户端在window下,不对处理,就会出现数据接收显示出错。
下面一段代码可以说明采用动态内存方式接收数据,用所需类型指针来读取内存数据,可以解决这个问题。
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24#include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct { char c[10]; int a; char b; } IP; int main(int agrc,char *argv[]) { IP ip={"hello",4,-45}; //strcpy(ip.c,"world"); IP *j; char *p; p=( char *)malloc(sizeof(IP)); 申请内存,并赋予char型指针 j=p; 相当于一个内存区地址被赋予两种不同数据类型的指针,你用哪个指针就可以把内存中的数据解析成那种数据类型。 memcpy(p,&ip,sizeof(IP)); 将结构体数据拷入内存 发送的时候就可以传参 P printf("p data is :%s,%d,%d",j->c,j->a,j->b); free(p); getchar(); return 1; }
最后
以上就是伶俐电灯胆最近收集整理的关于linux和window下socket接口函数的传入参数不匹配,导致出错。的全部内容,更多相关linux和window下socket接口函数内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复