一个Socket编程人人都会遇见的一个问题。

tongqingchao 2003-09-09 06:26:56
这是一个N个客户端,一个服务端,使用客户端发送消息到服务器端,服务端如何反馈消息到这个发送消息的客户端???
高手帮忙!!欢迎大家加入QQ-BCB讨论群:123033
...全文
55 31 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
31 条回复
切换为时间正序
请发表友善的回复…
发表回复
xujie839997 2003-10-08
  • 打赏
  • 举报
回复
mark
tongqingchao 2003-09-10
  • 打赏
  • 举报
回复
当第一个客户端连接时~Socket->Connections[i]
中的i加1,结果客户端1没有输入帐号密码,
这时候客户端2连接拉Socket->Connections[i]
中的i变成拉2这时候突然客户端1输入帐号秘密拉~客户端1连接成功~~
当服务端返回客户端1连接成功的消息时,服务器端的i已经变成拉2结果登陆成功的消息发送到拉客户端2上~怎么解决这个问题呢??
tongqingchao 2003-09-10
  • 打赏
  • 举报
回复
当第一个客户端连接时~Socket->Connections[i]
中的i加1,结果客户端1没有输入帐号密码,
这时候客户端2连接拉Socket->Connections[i]
中的i变成拉2这时候突然客户端1输入帐号秘密拉~客户端1连接成功~~
当服务端返回客户端1连接成功的消息时,服务器端的i已经变成拉2结果登陆成功的消息发送到拉客户端2上~怎么解决这个问题呢??
tongqingchao 2003-09-10
  • 打赏
  • 举报
回复
子寒你有QQ吗??加我好吗我的是:82865
当第一个客户端连接时~Socket->Connections[i]
中的i加1,结果客户端1没有输入帐号密码,
这时候客户端2连接拉Socket->Connections[i]
中的i变成拉2这时候突然客户端1输入帐号秘密拉~客户端1连接成功~~
当服务端返回客户端1连接成功的消息时,服务器端的i已经变成拉2结果登陆成功的消息发送到拉客户端2上~怎么解决这个问题呢??
Robin 2003-09-10
  • 打赏
  • 举报
回复
:>
tongqingchao 2003-09-10
  • 打赏
  • 举报
回复
晕死拉!!~~
我说真的~不要开玩笑~我没钱!
invalid 2003-09-10
  • 打赏
  • 举报
回复
有没有简单~快捷~~好用的~方法 ~~~~~~~
那就是再雇佣一个程序员。
tongqingchao 2003-09-10
  • 打赏
  • 举报
回复
有没有简单~快捷~~好用的~方法 ~~~~~~~
limlzm 2003-09-10
  • 打赏
  • 举报
回复
kingcaiyao(AKing) 给那个程序就讲解得很清楚了。
he_Fly 2003-09-10
  • 打赏
  • 举报
回复
如果是客户端发送一个请求包,服务端经过一系列检测,马上返回信息包,那么你直接在RECV的事件里写发送就可以了,如果服务端要主动发送信息包给客户端,那么可以在客户端建立连接后,先发送一个登记包,可以是结构体,里面包含帐号和IP,如:到了时间,我要发送一个断开包给客户端,那么先查询你的结构体,找到要断开帐号的IP,然后在CONNECTIONS数组中找到对应IP,发送断开信息包。
tongqingchao 2003-09-10
  • 打赏
  • 举报
回复
那有关于IDHTTP用法的文章呢
stsrj 2003-09-10
  • 打赏
  • 举报
回复
回复人: tongqingchao(小超) ( ) 信誉:100 2003-09-09 18:49:00 得分:0


我不想用TCP呀!!!我就想用 SOCKET


???????????????????????????????????????????/
invalid 2003-09-10
  • 打赏
  • 举报
回复
又:不要到处张贴你的问题。
invalid 2003-09-10
  • 打赏
  • 举报
回复
搜索论坛中的老帖子看看,先把基础知识补充一下。
zihan 2003-09-09
  • 打赏
  • 举报
回复
Accept主要表示同意客户端的连接,如果Accept为False,那就表示不同意客户端的连接!ClientRead表示接受到客户端的数据时候触发的事件
tongqingchao 2003-09-09
  • 打赏
  • 举报
回复
ServerSocket1ClientRead
这是什么事件!!他和Accept有什么区别呀
Accept主要用来干吗的
ThinkX 2003-09-09
  • 打赏
  • 举报
回复
同意kingcaiyao(AKing),TCP是面向连接的协议,在Server用accept接受一个client连接请求时就会返回一个代表Client的socket,可以用它向Client发送数据。也就是说在tcp连接的双方都拥有一个代表对方的socket,以此向对方发送信息。
kingcaiyao 2003-09-09
  • 打赏
  • 举报
回复
楼主,你根本不理解socket,socket只是一个套接字(只是提供程序员进行网络编程的一个手段),任何通讯都是要协议的。
我已经说得很清楚了,到底是你晕还是我们晕,TCP是面向连接的协议,只要是客户端主动发起请求,一旦与服务器连接就会有一条链路,在这条链路上数据是可以双向的,也就是你所说的回写反馈消息,这是完全可以的,你看看我的这段代码:
http://www.csdn.net/develop/read_article.asp?id=19883
我的这段代码是将客户端发到服务器的内容,原封不动地由服务器反馈给客户端,我这里面实现TCP和UDP两种协议。
tongqingchao 2003-09-09
  • 打赏
  • 举报
回复
晕死拉!没人来救我拉~
我看我要开始摇滚拉!!!
tongqingchao 2003-09-09
  • 打赏
  • 举报
回复
我基本上已经做成拉~~后来才发现有问题的~
我的程序主要是一上来当运行时就激活拉SOCKET进行与服务器连接,
结果~就出问题拉~~
同时运行2个客户端,我在服务器端拉凡是连接就在COUT=COUT+1;
这样当我连接2个用户的使用COUT=2;
这样当我~~第1个客户填写帐号密码的时候~
当服务器段严整通过的时候~消息就这样子Connections[COUT-1]->SendText发给我的客户端2
大家说怎么解决呢!!!有没有更好的办法!呀~
加载更多回复(11)

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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