“发送文件请求:”如何操作?
答案:2 悬赏:20 手机版
解决时间 2021-05-04 16:22
- 提问者网友:沦陷
- 2021-05-03 18:20
“发送文件请求:”如何操作?
最佳答案
- 五星知识达人网友:千夜
- 2021-05-03 19:05
请说详细一点
全部回答
- 1楼网友:千杯敬自由
- 2021-05-03 20:38
A向B发送文件的请求 接到B的回复消息"/R"时A发送准备发送文件的信号"/S",然后启动发送文件的线程,B收到"/S"后启动接受文件的线程, 个人觉得你先简化一下C/S握手协议,在A向B发送文件请求后,B同意接收后发送消息"/R"回给A,同时,B就启动接收线程,不需要等待A的"/S"消息,同样,A收到B的同意接收文件的"/R"消息后就直接开始发送文件线程,不需要再发"/S"消息. 在代码中,你试着将开启接收线程的代码调整到 SSocket-Socket-Connections[0]-SendText("/R"); 下面,略过发送和接收"/S"消息的代码试试. 因为在你的服务端好象没看到有"/S"消息的发送,导致客户端收不到"/S"消息而无法启动接收线程. 接收线程接收数据: 阻塞方法:接收线程开启后,直接使用recvfrom或者recv从服务端"读",这样会使接收线程一直阻塞到读到数据为止. 非阻塞方法:使用SELECT方法建立多路IO复用,使数据到达客户端时通知接收线程来"读" 具体的方法你可以在网上自己搜索一下,还有,我建议你学点更底层的东西,因为BCB对SOCKET套接口进行了一次封装,你学一下基本的套接口函数,对于开发网络程序非常有帮助,你可以给我你的邮件地址,我发一个我以前学习的资料给你自己学习....
文章来源: http://www.99luo.com
原文链接: http://www.99luo.com/index.php/Index/show/id/86468032
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯