社区
C#
帖子详情
Socket如何发送和接收一个struct,求助,急切的求助,希望大家帮忙!!!!!
jhlcss
2003-10-20 02:37:55
谢谢
...全文
90
8
打赏
收藏
Socket如何发送和接收一个struct,求助,急切的求助,希望大家帮忙!!!!!
谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
三杯倒
2004-03-04
打赏
举报
回复
// 用 Marshal 傳回類別的 Unmanaged 大小 (以位元組為單位)
int size = Marshal.SizeOf(pAskConnect);
// 使用 GlobalAlloc 配置記憶體區塊
System.IntPtr ptr = Marshal.AllocHGlobal(size);
// 從 Managed 物件封送處理資料到 Unmanaged 記憶體區塊
Marshal.StructureToPtr(pAskConnect, ptr,true);
byte[] ba=new byte[size];
// 從 Managed 陣列將資料複製到 Unmanaged 記憶體指標
Marshal.Copy(ptr, ba, 0, ba.Length );
开心就好
2003-10-20
打赏
举报
回复
在发送方序列化,序列化在内存中就可以了,然后发送到接收方,在接收方反序列化,注意两者所采用的编码必须要统一。
ArLi2003
2003-10-20
打赏
举报
回复
cc 公主的方法不错,帮你FAQ
xixigongzhu
2003-10-20
打赏
举报
回复
http://expert.csdn.net/Expert/topic/2097/2097864.xml?temp=.162121
lbywyj
2003-10-20
打赏
举报
回复
这样:byte[] byteData = Encoding.GetEncoding("GB2312").GetBytes(sSend);
然后在发送byteData,如果你用tcp写的话,你接受的和你发送的是同样的序列,
即使不是同样的序列,也没关系的,在你的接受端接收到数据的话,你必须要按照发送时候定义的协议来恢复你所接收到的数据阿,
例如:sRecieve是接收到的数据:你可以这样:
string sI= sRecive.Substring(0,sRecive.IndexOf("^"));
string sS =....;
用一个循环语句,从一个字符串中按一定的条件取出各个子字符串,我想你会吧?
这样是可以实现的
jhlcss
2003-10-20
打赏
举报
回复
就是说,发送的时候是byte型,接收也应该是byte型,如何序列化。
jhlcss
2003-10-20
打赏
举报
回复
求助
lbywyj
2003-10-20
打赏
举报
回复
楼主:
我不知道socket是怎样发送struct,觉得实现好象也不容易,不过我是这样实现的:
定义一个函数,在send() 之前吧,比如:
public struct sss
{
int i;
string s;
}
把i和s的值都转换成string 类型,然后
定义 string sSend = sss.i.ToString()+"^"+sss.s;
这时候就可以发送sSend了;
同样的在接受端:你必须按照发送端定义的协议来恢复你的struct,其中"^",是用来界定struct里边不同类型变量;
这样时可以实现的,至于还有没有别的更好的办法,还希望大家多讨论!
goweb网站博客与定时任务系统实战
Go语言性能好、语法简单、开发效率高!一起来探索Go 语言吧!本课程特别适合从事PHP/Python/Ruby/Node.js等Web开发的读者,通过本课程可以了解编译型语言怎么写Web应用开发,系统底层怎么进行网络通信。 beego 简介beego 是
一个
快速开发 Go 应用的 HTTP 框架,他可以用来快速开发 API、Web 及后端服务等各种应用,是
一个
RESTful 的框架,主要设计灵感来源于 tornado、sinatra 和 flask 这三个框架,但是结合了 Go 本身的一些特性(interface、
struct
嵌入等)而设计的
一个
框架。beego 的架构beego 的整体设计架构如下所示:beego 是基于八大独立的模块构建的,是
一个
高度解耦的框架。当初设计 beego 的时候就是考虑功能模块化,用户即使不使用 beego 的 HTTP 逻辑,也依旧可以使用这些独立模块,例如:你可以使用 cache 模块来做你的缓存逻辑;使用日志模块来记录你的操作信息;使用 config 模块来解析你各种格式的文件。所以 beego 不仅可以用于 HTTP 类的应用开发,在你的
socket
游戏开发中也是很有用的模块,这也是 beego 为什么受欢迎的
一个
原因。大家如果玩过乐高的话,应该知道很多高级的东西都是一块一块的积木搭建出来的,而设计 beego 的时候,这些模块就是积木,高级机器人就是 beego。至于这些模块的功能以及如何使用会在后面的文档逐一介绍。beego 的执行逻辑既然 beego 是基于这些模块构建的,那么它的执行逻辑是怎么样的呢?beego 是
一个
典型的 MVC 架构,它的执行逻辑如下图所示:beego 项目结构一般的 beego 项目的目录如下所示:├── conf│ └── app.conf├── controllers│ ├── admin│ └── default.go├── main.go├── models│ └── models.go├── static│ ├── css│ ├── ico│ ├── img│ └── js└── views ├── admin └── index.tpl从上面的目录结构我们可以看出来 M(models 目录)、V(views 目录)和 C(controllers 目录)的结构, main.go 是入口文件。
Socket
- 通过
SOCKET
发送
、
接收
结构体数据
通过
SOCKET
发送
、
接收
结构体数据 记录一下如何使用
SOCKET
发送
、
接收
结构体数据。 现有如下结构体: typedef
STRUCT
USERINFO { char name[30]; char addr[100]; int age; }; 定义结构体对象: USERINFO usreInfo; //
发送
结构体数据 send(sock, (cha
JAVA和C++通过
socket
发送
和
接收
结构体
JAVA和C++通过
socket
发送
和
接收
数据
python的
socket
发送
和
接收
大数据
本文介绍了python
发送
和
接收
大数据的思路:
发送
方提供要
发送
数据的长度,
接收
方根据数据长度,循环
接收
数据,直到全部
接收
。并采用自定义的header结构体,保证每次数据传送的独立。
发送
方代码示例: # 自定义header def build_header(data_len): header = {'data_len': data_len} return json.dumps(header).encode('UTF-8') #
发送
报文 def send(client, message):
mfc
socket
发送
和
接收
数据和文件
折腾了
一个
早上在原来的kinect程序上写
一个
远程
发送
图片功能,把截图用
socket
发送
出去,才实现windows下两程序的对话。 主要参考了两篇博客,鞠躬感谢两位作者: http://blog.csdn.net/u010477528/article/details/41680425 http://www.cnblogs.com/wainiwann/archive/2012/05/22/
C#
110,538
社区成员
642,577
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章