游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2937|回复: 7

UDP如何发送2个float数?

[复制链接]

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
发表于 2009-11-25 20:27:00 | 显示全部楼层 |阅读模式
float x;
float y;
buffers[8];
sendto(socket1,&buffers[0],8,0,(struct sockaddr*)&server,len);

如何让buffers包含x和y的值呢?

86

主题

2251

帖子

2384

积分

金牌会员

Rank: 6Rank: 6

积分
2384
QQ
发表于 2009-11-26 09:38:00 | 显示全部楼层

Re:UDP如何发送2个float数?

int x_ = *(int*)x;

21

主题

136

帖子

165

积分

注册会员

Rank: 2

积分
165
发表于 2009-11-26 11:06:00 | 显示全部楼层

Re:UDP如何发送2个float数?

memcpy()

3

主题

101

帖子

101

积分

注册会员

Rank: 2

积分
101
发表于 2009-11-26 11:14:00 | 显示全部楼层

Re:UDP如何发送2个float数?

struct ff
{
float x,y;
}
ff f1 = {0};
sendto(socket1,&f1,sizeof(ff),0,(struct sockaddr*)&server,len);

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
 楼主| 发表于 2009-11-26 20:15:00 | 显示全部楼层

Re: Re:UDP如何发送2个float数?

luoqi: Re:UDP如何发送2个float数?
struct ff
{
float x,y;
}
ff f1 = {0};
sendto(socket1,&f1,sizeof(ff),0,(struct sockaddr*)&server,len);

看来,这个方法最快捷,最容易。
谢谢!

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
 楼主| 发表于 2009-11-28 00:16:00 | 显示全部楼层

Re:UDP如何发送2个float数?

发现一个问题。
struct ff
{
float x,y;
}
ff f1 = {0};
sendto(socket1,&f1,sizeof(ff),0,(struct sockaddr*)&server,len);
可以发过去。

可问题是,服务端怎么接受这个struct呢?
recvfrom(socket1,ff,64,0,(struct sockaddr*)&from,&len);
系统提示不能把struct ff转化为char*

怎么解决呢?

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
 楼主| 发表于 2009-11-30 13:38:00 | 显示全部楼层

Re:UDP如何发送2个float数?

sendto(socket1,(char *)&f1,sizeof(ff),0,(struct sockaddr*)&server,len);
解决了

0

主题

15

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2009-12-21 13:43:00 | 显示全部楼层

Re:UDP如何发送2个float数?

需要两边都定义相同的结构 或者把这个结构放在一个.h里  两边公用就行了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-16 19:24

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表