C# winform 聊天室程序 两个人聊天对话如何实时显示出来? 30

从网上下载了一个聊天室程序,发现打开两个client窗体聊天,对话不能实时显示出来,A说完后,只在A中显示,需要B说话,才能显示A说话内容。如何改进,可以像QQ那样A说完... 从网上下载了一个聊天室程序,发现打开两个client窗体聊天,对话不能实时显示出来,A说完后,只在A中显示,需要B说话,才能显示A说话内容。如何改进,可以像QQ那样A说完,在B窗体上就显示呢?
要求给出具体的代码。
展开
 我来答
区拉文70
2011-12-28 · TA获得超过146个赞
知道小有建树答主
回答量:159
采纳率:0%
帮助的人:146万
展开全部
如果点刷新按钮,能达到你想要的目的,那么最简单的办法,就是加一个timer控件,定时执行刷新按钮里面的代码。

QQ的机制大约是: 首先假设两个客户端是能进行P2P的时候,服务器协调两个机器进行P2P直连,这个时候,A说话就直接发给B了,如果QQ有聊天日志做以后检查,再备份到服务器上。
如果两个客户端无法进行P2P连接,那就要通过QQ服务器进行中转消息,在服务器中建立代码通道。
而你这个是聊天室的机制,和用户之间对话不一样。我没看见你有对某个用户说话的功能。聊天室说话机制主要还是客户端定时刷新消息,当然服务端可以发送一个简短的命令通知客户端有消息变化,客户端再去提取。
匿名_热心网友
2012-01-09 · TA获得超过719个赞
知道大有可为答主
回答量:3827
采纳率:0%
帮助的人:8402万
展开全部
Console.WriteLine("请输入M公司工资");
int a = Console.ReadLine();
Console.WriteLine("请输入M公司工资年增长率");
double x = Console.ReadLine();
Console.WriteLine("请输入N公司工资(*M公司工资>N公司工资)");
int b = Console.ReadLine();
Console.WriteLine("请输入N公司工资年增长率(*M公司工资年增长率<N公司工资年增长率)");
double y = Console.ReadLine();
for (int i = 1;; i++)
{
if(a*x*i<b*y*i)
{
Console.WriteLine("在N公司需要" + i + "年才能超过M公司");
return;
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-12-28
展开全部
使用Timer定时器控件,定时刷新消息显示控件
更多追问追答
追问
给个具体的代码啊 大哥 或者我把源码发给你 你给我做个
追答
首先在你要显示消息的页面加一个Timer控件
并设置属性。然后在Timer控件的Tick事件里对显示消息的控件进行刷新。例如TextBox1.Refresh();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
龙儿琰
2011-12-28 · 超过17用户采纳过TA的回答
知道答主
回答量:110
采纳率:0%
帮助的人:33.6万
展开全部
socket也行,定时刷新也行不过占用资源,
追问
给个具体的代码啊 大哥 或者我把源码发给你 你给我做个
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
runsoft
2011-12-28 · 超过21用户采纳过TA的回答
知道答主
回答量:156
采纳率:0%
帮助的人:43万
展开全部
socket编程,查查资料
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式