游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3962|回复: 15

如何用UDP协议传送一个float变量呢?

[复制链接]

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
发表于 2008-11-11 18:04:00 | 显示全部楼层 |阅读模式
float x=40.6f;

用UDP传送的时候改怎么传呢?

先把x转换成字符串,接受之后再把字符串转换成float吗?
能不能直接传float呢?
float是4个字节吧?用数组传?[em8]

119

主题

1367

帖子

1393

积分

金牌会员

Rank: 6Rank: 6

积分
1393
发表于 2008-11-11 19:56:00 | 显示全部楼层

Re:如何用UDP协议传送一个float变量呢?

管他什么数据类型,统统串化成字节,采用序列化与反序列化的方式,磁盘IO网络IO就都能支持了 [em19]

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
 楼主| 发表于 2008-11-11 22:20:00 | 显示全部楼层

Re:如何用UDP协议传送一个float变量呢?

呃,那总不能

  1. float x=40.6f;
  2. sendto(socket1,x,4,0,(struct sockaddr*)&server,len);
复制代码

这样吧?

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
 楼主| 发表于 2008-11-11 22:36:00 | 显示全部楼层

Re:如何用UDP协议传送一个float变量呢?

也不能

  1. float x=40.6;
  2. char temp[4]=x;
  3. sendto(socket1,temp,4,0,(struct sockaddr*)&server,len);
复制代码

这样吧?
char不让得到float值啊

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
 楼主| 发表于 2008-11-11 22:37:00 | 显示全部楼层

Re:如何用UDP协议传送一个float变量呢?


  1. float x=40.6;
  2. byte* temp[4]=&x;
  3. sendto(socket1,temp,4,0,(struct sockaddr*)&server,len);
复制代码

这样?

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
 楼主| 发表于 2008-11-11 22:45:00 | 显示全部楼层

Re:如何用UDP协议传送一个float变量呢?

不行啊
[em21]

54

主题

2917

帖子

3765

积分

论坛元老

Rank: 8Rank: 8

积分
3765
QQ
发表于 2008-11-12 05:21:00 | 显示全部楼层

Re: Re:如何用UDP协议传送一个float变量呢?

snhun: Re:如何用UDP协议传送一个float变量呢?

[code]
float x=40.6;
byte* temp[4]=&x;
sendto(socket1,temp,4,0,(struct sockaddr*)&server,...


这样:
float x=40.6;
byte *temp=(byte*)&x;

119

主题

1367

帖子

1393

积分

金牌会员

Rank: 6Rank: 6

积分
1393
发表于 2008-11-12 08:24:00 | 显示全部楼层

Re:如何用UDP协议传送一个float变量呢?

你试试把一个对象数据读入到一个char buf[]里面,再把数据从char buf[]里面读出来还原成一个对象,这不关网络IO的事,这就是序列化与反序列化的基本思路,用C++写写看就清楚了

19

主题

638

帖子

638

积分

高级会员

Rank: 4

积分
638
发表于 2008-11-12 12:58:00 | 显示全部楼层

Re:如何用UDP协议传送一个float变量呢?

lz不会被盗号了吧?或者是加班加晕了?

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
 楼主| 发表于 2008-11-12 16:02:00 | 显示全部楼层

Re: Re:如何用UDP协议传送一个float变量呢?

qrli: Re:如何用UDP协议传送一个float变量呢?

lz不会被盗号了吧?或者是加班加晕了?

没啊.
因为我不是程序员,所以编程能力很差.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-19 15:58

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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