| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2089 人关注过本帖
标题:[求助]聊天室程序的问题
只看楼主 加入收藏
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 
然后针对收到的每一个信息做成不同的反应
不大了解你这句是什么意思

服务器有两种设计方式

1.用UDP协议,这个时候就采用一个队列去处理接收来的信息,比如我们的QQ
2.TCP协议,这个时候每建立一个TCP连接服务器都会开启个线程和和客户端会话,比如WEB

只要按照这两个方式去设计一个服务器,那肯定没错。

淘宝杜琨
2006-06-23 11:05
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
以下是引用神vLinux飘飘在2006-6-23 11:05:24的发言:
然后针对收到的每一个信息做成不同的反应
不大了解你这句是什么意思

服务器有两种设计方式

1.用UDP协议,这个时候就采用一个队列去处理接收来的信息,比如我们的QQ
2.TCP协议,这个时候每建立一个TCP连接服务器都会开启个线程和和客户端会话,比如WEB

只要按照这两个方式去设计一个服务器,那肯定没错。

我的意思是,服务器在接受到一个连接以后,起一个线程去处理此连接,并在此线程中无限循环等收客户端来的信息
并且此时,客户发信息的方式最好是有所方法,比如,先发一条表示命令的信息,后面接着的就是不同的命令对应的不同的信息流
而此时服务器的线程只要在无限循环里接收单一的命 令就可以了,针对不同的命令用不同的方法去处理它
这岂不是更好的模式,并且这样写的话,扩展性相当高,以后要加功能,只要加一条命 令和这条命令对应的方法就可以了


可惜不是你,陪我到最后
2006-06-23 11:20
guo001
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2006-3-19
收藏
得分:0 
那我的客户端代码那里错了啊?
版主帮我修改一下代码啊!谢谢了!

2006-06-23 11:27
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
服务器端代码也没有看到,怎么知道客户端错在哪里?
还有,你的客户端在我这里运行不了
因为我这里没有那个名字

可惜不是你,陪我到最后
2006-06-23 11:29
guo001
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2006-3-19
收藏
得分:0 
服务器的代码在1楼的包里 ,代码没问题。
客护端代码在22楼 你把那个名字改成你的计算机名字就可以了啊。要么你改成localhost

2006-06-23 11:42
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
你只要按我给你的模式写,是肯定不会出什么问题的

可惜不是你,陪我到最后
2006-06-23 11:44
guo001
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2006-3-19
收藏
得分:0 
在按钮触发函数里调用连接函数(连接函数里面是无限循环处理的)这样写我想应该没问题啊
可是有人说我这样写不对 ,不知道是谁错了啊?
版主帮我找一下代码的错误,修改一下代码,我觉得也许这样对我进步更大。

2006-06-23 11:52
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
你这是不是服务器端和客户端都是先从socket里面得到输出流?
这样不行,肯定是卡在那里的
一定要一个输入,一个输出,这样对应

可惜不是你,陪我到最后
2006-06-23 11:57
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 
比如,先发一条表示命令的信息,后面接着的就是不同的命令对应的不同的信息流
而此时服务器的线程只要在无限循环里接收单一的命 令就可以了,针对不同的命令用不同的方法去处理它
这岂不是更好的模式,并且这样写的话,扩展性相当高,以后要加功能,只要加一条命 令和这条命令对应的方法就可以了

恩,知道你的意思了,这的确为一种容易理解的方法。

淘宝杜琨
2006-06-23 12:11
guo001
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2006-3-19
收藏
得分:0 

在按钮触发函数里调用连接函数(连接函数里面是无限循环处理的)这样写我想应该没问题啊
可是有人说我这样写不对 ,不知道是谁错了啊?
版主帮我把代码修改正确啊, 谢谢了!

[此贴子已经被作者于2006-6-23 12:16:04编辑过]


2006-06-23 12:14
快速回复:[求助]聊天室程序的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017824 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved