社区
C#
帖子详情
C#将二进制内容读入结构体,通过socket发送后读出结构体内容
lem12
2007-12-12 04:41:36
C#将二进制内容读入结构体,通过socket发送后读出结构体内容.
...全文
231
6
打赏
收藏
C#将二进制内容读入结构体,通过socket发送后读出结构体内容
C#将二进制内容读入结构体,通过socket发送后读出结构体内容.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fuadam
2007-12-14
打赏
举报
回复
string是引用
fuadam
2007-12-13
打赏
举报
回复
我给你的链接里有啊
lem12
2007-12-13
打赏
举报
回复
如何将
二进制内容读入结构体
lem12
2007-12-13
打赏
举报
回复
测试没反应
结构体
public struct My_Test
{
public string Ip;
public string Port;
public string str_Msg;
}
客户端
发送事件
Stream str = new NetworkStream(sok);
My_Test myobj = new My_Test();
myobj.Ip = this.textBox1.Text;
myobj.Port = this.textBox2.Text;
myobj.str_Msg = this.richTextBox2.Text;
int size = Marshal.SizeOf(myobj);
IntPtr buffer = Marshal.AllocHGlobal(size);
Marshal.StructureToPtr(myobj, buffer, true);
byte[] sendbyte = new byte[size];
Marshal.Copy(buffer, sendbyte, 0, size);
IFormatter formatter = new BinaryFormatter();
formatter.Serialize(str, myobj);
sok.Send(sendbyte);
Marshal.FreeHGlobal(buffer);
服务端
int size = Marshal.SizeOf(myobj);
IntPtr buffer = Marshal.AllocHGlobal(size);
byte[] byt = new byte[size];
Marshal.Copy(byt, 0, buffer, size);
string strip=((My_Test)Marshal.PtrToStructure(buffer, myobj.GetType())).Ip;
string strmsg = ((My_Test)Marshal.PtrToStructure(buffer, myobj.GetType())).str_Msg;
newsok.Receive(byt, byt.Length, 0);
string str = "";
//委托将数据显示到文本框
GetControl getcon = new GetControl(GetStr);
this.BeginInvoke(getcon, new object[] { strmsg });
Marshal.FreeHGlobal(buffer);
Ellen88
2007-12-12
打赏
举报
回复
将从socket接收的Byte[]转换为struct
public object GetStruct(SocketHelper.CMDType cmdType, Byte[] _buffer)
{
int headsize = SocketHelper.DataHeadSize;
IntPtr ptr = Marshal.AllocCoTaskMem(headsize);
Marshal.Copy(_buffer, 0, ptr, headsize);
_struct = Marshal.PtrToStructure(ptr, typeof(SocketHelper.DataHeader));
}
public class SocketHelper
{
public const int DataHeadSize=11;
public struct DataHeader
{
public DataHeader(int str)
{
Mark = "ABCDEFGHIJ".ToCharArray();
nCmdType = '0';
}
public char[] Mark;//10
public char nCmdType;
};
}
fuadam
2007-12-12
打赏
举报
回复
http://topic.csdn.net/u/20071212/09/43435abe-df16-42cd-801b-64f29a12f6fc.html
看这帖子里我的回复
Unity3d使用
socket
传输图片
本文介绍了如何使用Unity3D结合
C#
Socket
进行图片传输。通过将图片转化为字节流,服务器端接收并保存在Resources文件夹,客户端则通过Resources.Load动态加载并显示。该方法同样适用于视频和音频等
二进制
文件的传输。
为VB6项目集成AES加密:DLL方案实现与避坑指南
本文介绍为遗留VB6项目集成AES加密的实用方案:通过C/C++编写的Win32 DLL封装AES-256-CBC-PKCS7算法,实现字符串与文件的加解密;详述VB6端Declare声明规范、密钥/IV安全生成、常见崩溃与兼容性问题(如乱码、DLL加载失败、跨工具解密不一致)的避坑方法;并涵盖PBKDF2密钥派生、DPAPI安全存储及向.NET迁移的互操作设计。
政府科技管理人员如何通过产业大脑实现产业政策精准匹配与兑现?.docx
政府科技管理人员如何通过产业大脑实现产业政策精准匹配与兑现?
本人配置文件111111
本人配置文件111111
Python数据可视化:分析北上广深空气质量
源码链接: https://pan.quark.cn/s/a4b39357ea24 在本研究中,我们将详细研究如何借助Python执行数据可视化,旨在剖析2018年期间中国四个主要城市——北京、上海、广州以及深圳的空气质量状况。通过绘制反映空气质量指数(AQI)与细颗粒物(PM2.5)变化趋势的图表,我们能够深入理解这些大都市全年的空气环境质量,并明确评估其优良天气所占的比重。 我们必须首先进行数据准备工作。在当前提供的压缩文件内,名为"2018天气"的文件极有可能是数据来源,其中可能收录了涉及四个城市每日空气质量监测的详细信息。这些数据通常涵盖日期、城市名称、AQI数值、PM2.5含量等核心参数。在Python编程环境中,我们惯常运用pandas库来对这类结构化数据进行高效的处理和分析。 1. **数据导入与初步处理**: - 利用`pandas.read_csv()`方法来导入存储为CSV格式的数据资料。 - 数据整理:对数据中的空白项、非正常数值进行修正,保证数据的精确性。 - 调整日期字段的格式,确保其能够适用于时间序列分析的需求。 2. **数据深度分析**: - 针对每个城市的AQI和PM2.5数据执行统计性描述,例如计算平均值、中位数、标准偏差等指标。 - 确定空气质量良好天气的天数,即那些AQI值低于75(依据中国的空气质量评估标准)的日数。 3. **数据呈现**: - 运用matplotlib或seaborn工具绘制折线图,直观展示四个城市在2018年全年的AQI和PM2.5变化动态。 - 可通过采用不同的颜色方案和线条类型来区分不同城市的数据系列。 - 添加必要的图示元素,如日期坐标轴、城市名称标注、图表标题及图例说明,以提升图表的可读...
C#
111,129
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章