c++利用socket实现数据传输

请问:如果在服务器端存在一个已赋值的结构体,如何利用socket将其传输给服务器端的一个相同形式的结构体?例:客户端存在结构体student,内含cstringname,... 请问:如果在服务器端存在一个已赋值的结构体,如何利用socket将其传输给服务器端的一个相同形式的结构体?
例:客户端存在结构体student,内含cstring name,int score,怎样将其传给服务器端?从建立socket开始
展开
 我来答
手机用户85881
2014-09-19 · TA获得超过149个赞
知道答主
回答量:112
采纳率:50%
帮助的人:121万
展开全部
可以传递结构体,比如:
struct A
{
int a;
int b;
};

struct A a;
send(s,(char*)&a,sizeof(a),0);

另一方接收到数据到buffer后,如buffer的字节长度为buufersize,则
struct b;
memcpy(&b, buffer, buffersize);
就传过去了。
求采纳为满意回答。
ten186000
推荐于2016-06-18
知道答主
回答量:30
采纳率:0%
帮助的人:14万
展开全部
// server
socket();
bind();
listen();
while(1)
{
SOCKET fd;

fd = accept();
if(fd>0)

{
send(fd,student,sizeof(student));

}

}

//client
socket();
connect();
recv(fd,&student,sizeof(student));
追问
能给我完整的吗?从建立socket连接开始,加分谢谢
追答
// Server: windows下的
struct student stu;

WORD vRequest;
WSADATA wasData;
int ret;

vRequest = MAKEWORD(1,1);
ret = WSAStartup(vRequest,&wasData);
if(ret == -1)
{
cout 0)
{
send(clientFd,&stu,sizeof(stu),0);

}

// client 自己写吧
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式