一个文件传输的问题客户端 => 发送文件请求 文件名 大小服务器端 =>接受 客户端 => 开始发送服务器端 接受到文件大小的字节后 结束写入文件 但是继续接受客户端的请求我的问题是 万一中途客户端停止发送文件 怎么告诉服务器端呢因为这时发过去的内容服务器端会认为是文件的一部分因为我要一直保持SOCKET连接 不想通过断开SOCKET来 中断
解决方案 »
- C\S 程序中,出现socket 无法从传输连接中读取数据: 远程主机强迫关闭了一个现有的连接 问题
- 怎样把一个System.String类型转换为System.Web.UI.WebControls.TextBox类型
- dll中修改c#传入的结构值
- 改变FTB里面图片文件夹路径
- 急啊,高手请进。
- 什么时候服务进程的类型会是托管?
- asp.net1.1用户控件的问题
- 谁帮我看看这错误是怎么回事。
- 我给RICHTEXTBOX定义了一个CONTEXTMENU,我想弹出菜单时在此菜单的鼠标是箭头,当进入RICHTEXTBOX时是‘工’字型?
- 关于devexpress gridlookupedit快速输入的问题
- 求大虾们帮帮忙 如何在RichTextBox中进行鼠标定位?
- 关于ADODB.Stream问题
传输类型(文件/信息/脚本/命令/内部消息)
传输对象名称(UNIQUE GUID)
对象附加信息(SOAP信息)
对象内容上下文(如文件内容相对全文的偏移量)
对象大小(对文件来说就是本次发送的块的大小)
对象内容
发送时间
服务器接收时间(中转时用)
etc...然后加密,压缩后发出去
可是我发现至少要sleep(1000)程序才能有时候跑起来
怎么才能让服务器端识别\n 识别也不可靠啊 万一传的文件里有\n呢
楼主可以这样你用一个连接保持与服务器之间的长久连接。每传一个文件的时候,就新创建个socket连接,与服务器通讯。如果客户取消,就是socket.Close就可以了。服务器就可以知道对方取消了。
一般来说,常用21端口来保持和客户的连接用另一个端口连接来跟用户交互文件。to mygod_good(菜鸟之非常菜) (
我也不是很懂 : ) 说过了头的话,对不住了
一般来说,常用21端口来保持和客户的连接用另一个端口连接来跟用户交互文件。
/////////////////////////////////////////////////////////////////////////
楼上,你这样认为,那就变成不懂了哦。一个端口可以建立多个连接,只要保持第一个连接作为基础通信就行了。其他连接可以做其他的事情。
下他源码基本上就会明白SOCKET是怎么回事情了。
怎么可能?
一般来说,常用21端口来保持和客户的连接用另一个端口连接来跟用户交互文件。
/////////////////////////////////////////////////////////////////////////
楼上,你这样认为,那就变成不懂了哦。一个端口可以建立多个连接,只要保持第一个连接作为基础通信就行了。其他连接可以做其他的事情。
//////////////////////////////////
你说的和我说的有什么区别么,我好象没有那句话在误导楼主说:一个端口不可以建多个连接吧。
你的语文哎。
刚看了RFC959 算是基本明白了不过最后还有个问题 第一个连接登陆以后第二个连接 用什么方法验证用户呢?
////////////////////////////////不知道你是不是在写一个ftp协议的实现?如果是这样,比较复杂,一般说是两方便协商, 客户要传文件的时候会告诉服务器,“我又打开了一个端口,你连过来吧。” 这个协商是通过第一个连接传递的。所以,我觉得验证不会出什么问题如果想谨慎点,可以在第一连接后,服务器分配给客户一个GuidID,客户发起第二个连接的时候,拿这个凭证和服务器上的对应(session的原理)。