分享一个聊天程序,响应csdn的号召

threenewbee 2013-04-22 07:06:04
加精
响应csdn的号召,做了一个小的基于wcf的聊天程序,分享给大家,也许很多人希望有一个wcf的通讯的小例子,可是网上的代码不是太复杂,就是太简单。适合的例子不太好找,为此我写了这个程序。在编写程序的过程中,我得到过方同学、徐雷同学等的帮助,在这里一并致谢。其实这个程序是我一个稍微复杂一点的程序的原型并且修改的版本。

先上一个效果图,程序很简单,只支持基本的聊天功能。服务器负责维护一个用户登录列表和转发消息,客户端可以同时和多个人聊天,双击左边列表即可。



程序用到wcf的双工通讯。采用VS2010编译(当然也可以支持2012),运行程序很简单,先在服务器执行WCFMessengerServer.exe,再执行WCFMessenger.exe,输入一个用户名,一个服务器地址即可。

至少要有2个客户端运行哦,自己是不能和自己聊天的。

代码下载地址:http://download.csdn.net/detail/caozhy/5287998,希望大家支持。
...全文
9421 192 打赏 收藏 转发到动态 举报
写回复
用AI写文章
192 条回复
切换为时间正序
请发表友善的回复…
发表回复
XBodhi. 2014-10-27
  • 打赏
  • 举报
回复
兔子-顾问 2014-09-15
  • 打赏
  • 举报
回复
本来不想说,虽然不是大问题,不过的确没注视,直接运行是不可以的,ip并非一致呢。 WCFManager的LoginForm.cs中,在构造函数中增加一行:
textBox1.Text = Dns.GetHostEntry(Dns.GetHostName()).AddressList.First(x => x.AddressFamily.ToString() == "InterNetwork").ToString();
threenewbee 2014-09-15
  • 打赏
  • 举报
回复
引用 190 楼 wuyazhe 的回复:
本来不想说,虽然不是大问题,不过的确没注视,直接运行是不可以的,ip并非一致呢。 WCFManager的LoginForm.cs中,在构造函数中增加一行:
textBox1.Text = Dns.GetHostEntry(Dns.GetHostName()).AddressList.First(x => x.AddressFamily.ToString() == "InterNetwork").ToString();
谢谢!的确,在多个网卡上要判断下,当初写程序用的是xp,没有注意(win7因为有ipv6,这个问题比较明显)
失落的神庙 2013-08-07
  • 打赏
  • 举报
回复
先顶再下
dota_sky_god 2013-08-07
  • 打赏
  • 举报
回复
引用 楼主 caozhy 的回复:
响应csdn的号召,做了一个小的基于wcf的聊天程序,分享给大家,也许很多人希望有一个wcf的通讯的小例子,可是网上的代码不是太复杂,就是太简单。适合的例子不太好找,为此我写了这个程序。在编写程序的过程中,我得到过方同学、徐雷同学等的帮助,在这里一并致谢。其实这个程序是我一个稍微复杂一点的程序的原型并且修改的版本。 先上一个效果图,程序很简单,只支持基本的聊天功能。服务器负责维护一个用户登录列表和转发消息,客户端可以同时和多个人聊天,双击左边列表即可。 程序用到wcf的双工通讯。采用VS2010编译(当然也可以支持2012),运行程序很简单,先在服务器执行WCFMessengerServer.exe,再执行WCFMessenger.exe,输入一个用户名,一个服务器地址即可。 至少要有2个客户端运行哦,自己是不能和自己聊天的。 代码下载地址:http://download.csdn.net/detail/caozhy/5287998,希望大家支持。
感谢楼主分享 我这边在本机上是可以多开用的,但是我把这个发给我朋友,那边好像就提示我这边的服务器IP无法连接,这个可能会是什么情况,是不是说公司内网的IP会造成影响
何必tom 2013-08-06
  • 打赏
  • 举报
回复
好东西!留个印记
Simon612 2013-08-02
  • 打赏
  • 举报
回复
看起来不错哦,谢谢卤煮
公西雒 2013-08-02
  • 打赏
  • 举报
回复
版主都是大神!
warrior051210 2013-08-02
  • 打赏
  • 举报
回复
学习学习................
juezhao007 2013-08-02
  • 打赏
  • 举报
回复
谢谢分享..
FTD_2009 2013-08-02
  • 打赏
  • 举报
回复
深藏功与名
偶麦嘎 2013-06-26
  • 打赏
  • 举报
回复
引用 47 楼 dgzzhb 的回复:
自己不能和自己聊天。。心都碎了。。。太寂寞了
顶一个
wumin940590725 2013-05-31
  • 打赏
  • 举报
回复
引用 94 楼 caozhy 的回复:
[quote=引用 82 楼 zsaaa 的回复:] LZ能不能讲解下原理。 是A客户端发送信息到服务器,然后A,B客户端定时查询服务器有没有新信息吗? 还是其他? 请解释下呗,谢谢了。
不好意思,写得简略了。这个是双工通讯,客户端和服务器端都可以主动发消息通知对方。不是轮询的。[/quote]这个服务器登不上去啊,lz。我应该登录哪一个,内网?公网?还是其他人的电脑??我没弄懂这个。。。。
parhelia512 2013-05-30
  • 打赏
  • 举报
回复
cai595688445 2013-05-28
  • 打赏
  • 举报
回复
那个服务器地址是不是ip地址啊,我的怎么连不了
李木蛋 2013-05-27
  • 打赏
  • 举报
回复
我的服务器地址是多少 啊?
a75241505 2013-05-25
  • 打赏
  • 举报
回复
表示不懂、、、 看了下结构图,傻了、、、 本地服务器似乎不行、、
雪狼孤竹 2013-05-24
  • 打赏
  • 举报
回复
路过,顶个!
zhengyingcan 2013-05-24
  • 打赏
  • 举报
回复
可是大家都用QQ了
heyanan523 2013-05-24
  • 打赏
  • 举报
回复
加载更多回复(147)

7,765

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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