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

tongqingchao 2003-09-09 06:26:56
这是一个N个客户端,一个服务端,使用客户端发送消息到服务器端,服务端如何反馈消息到这个发送消息的客户端???
高手帮忙!!欢迎大家加入QQ-BCB讨论群:123033
...全文
11 点赞 收藏 31
写回复
31 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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
大家说怎么解决呢!!!有没有更好的办法!呀~
回复
相关推荐
发帖
网络及通讯开发
创建于2007-08-02

1299

社区成员

C++ Builder 网络及通讯开发
申请成为版主
帖子事件
创建了帖子
2003-09-09 06:26
社区公告
暂无公告