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
怎么定义报文格式,我用结构数组的形式老是抱错,看得例子也是传字符串的,
...全文
336 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
  • 打赏
  • 举报
回复
主要是要发文件阿
用结构体定义文件格式等,还希望知道的讲解一下,

110,536

社区成员

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

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

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