c# socket编程 急,提供思路立马给分

lh1979 2006-10-25 10:57:44
c#里面socket编程主要是发包告诉主机我要下文件,主机把文件传过来
以前没有做过socket做的比较少,结果在定义结构的时候数组老是抱错
1 报文头长度 4 Char 顺序2-11之和
2 请求标志 2 Char ‘RQ’:服务请求
‘RP’:服务应答
3 应答码 2 Char 00:成功
01:文件不存在
02:文件已经存在
99:其它错误
4 应答信息 30 Char 应答码非‘00’时的说明
5 服务代码 4 Char 对应业务类型
0000:业务流水
0001:代扣文件
……
6 银行代码 3 Char 参见上文
7 业务日期 10 Char YYYY-MM-DD
8 文件传输标志 2 Char ‘UP’:上传
‘DN’:下载
9 传输方式 1 Char 0 自动 (业务类型指定目录下的所有文件)(保留)
1 指定文件
10 文件传输个数 2 Char
11 文件名称 100 Char 需要上传或下载的文件名称,多文件时“+”分隔
12 传输文件名称 30 Char 定长,前补空格
13 传输文件长度 8 Char 定长,前补‘0’
14 传输文件内容 n Bit
15 ……
16 传输文件名称 30 Char
17 传输文件长度 8 Char
18 传输文件内容 n Bit
怎么定义报文格式,我用结构数组的形式老是抱错,看得例子也是传字符串的,
...全文
367 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Grace_ghb 2006-12-01
  • 打赏
  • 举报
回复
mark
Jackile 2006-11-18
  • 打赏
  • 举报
回复
收藏~~
lifeixie 2006-10-25
  • 打赏
  • 举报
回复
我靠,这么点数据你也定义结构体!浪费
用byte[]吧
missQJM 2006-10-25
  • 打赏
  • 举报
回复
例子可以看看这个:
http://www.codeproject.com/cs/internet/asyncsockets.asp
lh1979 2006-10-25
  • 打赏
  • 举报
回复
public struct record{
public char [] msg=new char[4];//报文头长度
}

报D:\study\WindowsApplication2\Form1.cs(78): “WindowsApplication2.Form1.record.msg” : 结构中不能有实例字段初始值设定项
GXY2005 2006-10-25
  • 打赏
  • 举报
回复
怎么定义报文格式,我用结构数组的形式老是抱错,看得例子也是传字符串的,
---------------------------------------
报文格式都是自己定义的,只要两端保持一致。用结构数组就有解析问题,是否解析正确,老是抱错要看报的什么错了?
lh1979 2006-10-25
  • 打赏
  • 举报
回复
还能有个简单的例子看看阿,如定义包头等我用结构定义在结构里面放数组抱错
tl0 2006-10-25
  • 打赏
  • 举报
回复
socket通常还是使用字符串来定义包结构的。
数据可以分为包头和包体2部分。其中包头部分是定长的。包体部分是不定长的。
在包头中定义包体的长度。如果要传递对象或其他非字符流。可以先将其序列化成字符串再进行传递。
lh1979 2006-10-25
  • 打赏
  • 举报
回复
主要是主机要求socket通讯,我没有办法
我现在光接受或者光发送文件我都知道怎么做
他现在定义的报文格式是把返回码和传输的文件放一起的,我不知道怎么接收生成文件
喝醉的咖啡 2006-10-25
  • 打赏
  • 举报
回复
如果涉及安全考虑,那也不难,服务器加密一下(如果文件不太大的话),顺便压缩一下更好
客户端用收到的密码解密,并用 MD5 验证是否需要重新下载

呵呵,2003年我设计过一套分布式的公文交换系统,149个服务器之间就是这么交换数据的。后来将交互改为 Web Services,进一步简化工作量,技术成熟又稳定,开发工作量减少倒是小事情,测试周期大大缩短更重要——早日投入应用
喝醉的咖啡 2006-10-25
  • 打赏
  • 举报
回复
搞麻烦了

给你换个思路试试看:
如果文件存在,Server 将文件保存在 IIS 某个目录下,并返回 MD5 和 URL
Client 可以使用 HTTPRequest 并可以断点续传和并发下载,又快,对于你自己编写的服务器端负载又小,开发工作量也少,呵呵
lh1979 2006-10-25
  • 打赏
  • 举报
回复
主要是要发文件阿
用结构体定义文件格式等,还希望知道的讲解一下,
【顶级EI复现】计及连锁故障传播路径的电力系统 N-k 多阶段双层优化及故障场景筛选模型(Matlab代码实现)内容概要:本文介绍了名为《【顶级EI复现】计及连锁故障传播路径的电力系统 N-k 多阶段双层优化及故障场景筛选模型(Matlab代码实现)》的研究资源,重点围绕电力系统中连锁故障的传播机制,提出了一种N-k多阶段双层优化模型,并结合故障场景筛选方法提升系统安全性与鲁棒性。该模型通过Matlab代码实现,可用于模拟复杂电力系统在多重故障下的响应特性,支持对关键故障路径的识别与优化决策,适用于高水平科研复现与工程仿真析。文中还列举了大量相关技术方向的配套资源,涵盖智能优化算法、电力系统管理、机器学习、路径规划等多个领域,并提供了网盘链接以便获取完整代码与资料。; 适合人群:具备电力系统、优化理论及Matlab编程基础的研究生、科研人员及从事能源系统安全析的工程技术人员,尤其适合致力于高水平论文(如EI/SCI)复现与创新的研究者。; 使用场景及目标:①复现顶级期刊关于N-k故障与连锁传播的优化模型;②开展电力系统韧性评估、故障传播析与多阶段防御策略设计;③结合YALMIP等工具进行双层优化建模与场景筛选算法开发;④支撑科研项目、学位论文或学术成果转化。; 阅读建议:建议读者按照文档提供的目录顺序系统学习,优先掌握双层优化与场景筛选的核心思想,结合网盘中的Matlab代码进行调试与实验,同时参考文中提及的智能算法与电力系统建模范例,深化对复杂电力系统建模与优化的理解。

111,119

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧