求思路!

wumylove1234 2004-12-21 05:12:22
想要做一个类似于网页这样的公共聊天室.

兼实现二者之间传文件,传图片的功能.

我现在做到服务器与客户机已经可以通讯,采用TCP/IP.实现思路是:
客户登录-->验证-->成功,向其返回当前在线用户列表,记录此用户IP,用户名,端口
不成功,返回错误

因为考虑到网络的情况,所以我没有采用直接发送"文本的形式",而是采用了"应答式"

即发送每个数据前,要先发数据的类型,长度,然后才是数据,其间等待对方回响(返回OK后,发送端接着发送数据)

现在我的程序写的非常的乱.
服务器商一个侦听,一个用来接受连接和发送数据.
代码写起来复杂,很乱.请问大家有没有做过这样的类似的程序?

还有,我到底有没有必要采用应答式的方式?我试验了一个,发送一M的文本,一次DataArrive收不全,要触发好几次事件,而且,如果直接传的话,我也不知道什么时候才能结束.
...全文
183 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wumylove1234 2004-12-29
  • 打赏
  • 举报
回复
我采取的方式是
1发送消息类型 -->给客户端返回OK
2发送长度 -->给客户端返回OK
3发送消息体 -->全部接收完毕后给客户端返回OK

QQ1368065 2004-12-28
  • 打赏
  • 举报
回复
发送一M的文本,一次DataArrive肯定收不全,这和缓冲区大小有关,你不如分几段发,每段都有标志,收完后对不对标志对不对再合并
wumylove1234 2004-12-28
  • 打赏
  • 举报
回复
试过了,跟本不行.
wumylove1234 2004-12-22
  • 打赏
  • 举报
回复
客户端也是如此吗?
要占用两个端口啦?

这样倒也是个办法啊,那还要想办法将服务器端的两个Socket相关连起来,要不然如何知道是哪个客户端要进行发送数据的请求?
zyg0 2004-12-21
  • 打赏
  • 举报
回复
我的思路
2个tcp端口
1个负责传消息指令 另外一个传数据
发数据前将数据总长度和文件名发过去,然后接受的时候接受的长度+起来,全部接收完了的话就通知发送方发送完毕,

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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