当前位置:编程学习 > C#/ASP.NET >>

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

--------------------编程问答-------------------- 沙发不留了! --------------------编程问答-------------------- 前排占位,先收藏~ --------------------编程问答-------------------- 看不懂- - --------------------编程问答-------------------- 感谢楼主分享 --------------------编程问答-------------------- --------------------编程问答-------------------- 完全看不懂,这就是差距啊。
--------------------编程问答-------------------- --------------------编程问答-------------------- 值得参考~ winform可以实现聊天吗? --------------------编程问答--------------------
引用 8 楼 e65363581 的回复:
值得参考~ winform可以实现聊天吗?


google一下你就了然 --------------------编程问答-------------------- winform可以实现聊天吗早就能聊天啊,你不知道吗?? --------------------编程问答-------------------- 支持,顶... --------------------编程问答-------------------- 用socket实现的吗? --------------------编程问答-------------------- 不好意思,评错地方了!我是java爱好者...但楼主的分享精神值得学习! --------------------编程问答-------------------- 顶一个,等源代码学习。 --------------------编程问答-------------------- 多谢版主分享 --------------------编程问答-------------------- 源码哪里下呀,苦等中 --------------------编程问答-------------------- 感谢楼主分享! --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 楼主的代码在哪呢? --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 好好学习,天天向上~! --------------------编程问答-------------------- 已撸 --------------------编程问答-------------------- 求 John MM的照片 --------------------编程问答-------------------- 刚下载……顶起楼主高见 --------------------编程问答-------------------- 支持楼主 --------------------编程问答-------------------- 支持,顶... --------------------编程问答-------------------- 支持下~
支持啊啊~

凑6个字,不止了,算了,懒得删。。 --------------------编程问答-------------------- 楼主大好人啊,爱死你了。 --------------------编程问答--------------------
引用 14 楼 davinciyxw 的回复:
顶一个,等源代码学习。


引用 19 楼 longruliang 的回复:
楼主的代码在哪呢?


http://download.csdn.net/detail/caozhy/5287998 --------------------编程问答-------------------- 请问楼主,该程序要用什么软件才能打开啊?还有,能把能把你之前认为太简单和太难的代码也分享给我?不然告诉我在哪下载也行。 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- --------------------编程问答--------------------
引用 32 楼 u010232422 的回复:
请问楼主,该程序要用什么软件才能打开啊?还有,能把能把你之前认为太简单和太难的代码也分享给我?不然告诉我在哪下载也行。


VS2010哦。 --------------------编程问答--------------------
引用 31 楼 caozhy 的回复:
引用 14 楼 davinciyxw 的回复:顶一个,等源代码学习。

引用 19 楼 longruliang 的回复:楼主的代码在哪呢?

http://download.csdn.net/detail/caozhy/5287998

服务端:server is running!  但是服务端提示"无法连接127.0.0.1",怎么回事? --------------------编程问答--------------------
引用 36 楼 xtiu77 的回复:
引用 31 楼 caozhy 的回复:引用 14 楼 davinciyxw 的回复:顶一个,等源代码学习。

引用 19 楼 longruliang 的回复:楼主的代码在哪呢?

http://download.csdn.net/detail/caozhy/5287998
服务端:server is running!  但是服务端提示"无法连接127.0.0.1……

在客户端打开后上面输入你的服务器ip哦。 --------------------编程问答--------------------
引用 37 楼 caozhy 的回复:
引用 36 楼 xtiu77 的回复:引用 31 楼 caozhy 的回复:引用 14 楼 davinciyxw 的回复:顶一个,等源代码学习。

引用 19 楼 longruliang 的回复:楼主的代码在哪呢?

http://download.csdn.net/detail/caozhy/5287998
服务端:server is running!  但是……

额...服务端和客户端在一台机器上不行吗? --------------------编程问答--------------------
引用 38 楼 xtiu77 的回复:
引用 37 楼 caozhy 的回复:引用 36 楼 xtiu77 的回复:引用 31 楼 caozhy 的回复:引用 14 楼 davinciyxw 的回复:顶一个,等源代码学习。

引用 19 楼 longruliang 的回复:楼主的代码在哪呢?

http://download.csdn.net/detail/caozhy/5287998
服务端:ser……

可以哇。 --------------------编程问答-------------------- ....很强大 --------------------编程问答--------------------
引用 38 楼 xtiu77 的回复:
引用 37 楼 caozhy 的回复:引用 36 楼 xtiu77 的回复:引用 31 楼 caozhy 的回复:引用 14 楼 davinciyxw 的回复:顶一个,等源代码学习。

引用 19 楼 longruliang 的回复:楼主的代码在哪呢?

http://download.csdn.net/detail/caozhy/5287998
服务端:ser……


那我这出什么问题了呢?服务端运行正常,客户端一直提示无法连接127.0.0.1或本机IP.. --------------------编程问答--------------------
引用 41 楼 xtiu77 的回复:
引用 38 楼 xtiu77 的回复:
引用 37 楼 caozhy 的回复:引用 36 楼 xtiu77 的回复:引用 31 楼 caozhy 的回复:引用 14 楼 davinciyxw 的回复:顶一个,等源代码学习。

引用 19 楼 longruliang 的回复:楼主的代码在哪呢?

http://download.csdn.net/detail/caozhy/5287998
……

客户端输入服务器的地址,比如192.168.0.100哦。你不要用127.0.0.1嘛 --------------------编程问答-------------------- 另外服务器要允许防火墙。 --------------------编程问答--------------------
引用 41 楼 xtiu77 的回复:
引用 38 楼 xtiu77 的回复:
引用 37 楼 caozhy 的回复:引用 36 楼 xtiu77 的回复:引用 31 楼 caozhy 的回复:引用 14 楼 davinciyxw 的回复:顶一个,等源代码学习。

引用 19 楼 longruliang 的回复:楼主的代码在哪呢?

http://download.csdn.net/detail/caozhy/5287998
……

你的电脑是不是有好几个网卡?服务器要禁用掉多余的网卡,只留1个。 --------------------编程问答--------------------
引用 44 楼 caozhy 的回复:
引用 41 楼 xtiu77 的回复:引用 38 楼 xtiu77 的回复:
引用 37 楼 caozhy 的回复:引用 36 楼 xtiu77 的回复:引用 31 楼 caozhy 的回复:引用 14 楼 davinciyxw 的回复:顶一个,等源代码学习。

引用 19 楼 longruliang 的回复:楼主的代码在哪呢?

http://download……

单网卡....不用回环地址,用本机IP也不行...而且本机无任何防火墙...很郁闷...明天我把传输方式改成HTTP试下.. --------------------编程问答--------------------
引用 44 楼 caozhy 的回复:
引用 41 楼 xtiu77 的回复:引用 38 楼 xtiu77 的回复:
引用 37 楼 caozhy 的回复:引用 36 楼 xtiu77 的回复:引用 31 楼 caozhy 的回复:引用 14 楼 davinciyxw 的回复:顶一个,等源代码学习。

引用 19 楼 longruliang 的回复:楼主的代码在哪呢?

http://download……

郁闷..程序重新编译一下竟然连接成功....谢谢caozhy --------------------编程问答-------------------- 自己不能和自己聊天。。心都碎了。。。太寂寞了 --------------------编程问答-------------------- 先 拿走 再说 --------------------编程问答-------------------- 留名收藏了 --------------------编程问答-------------------- 给一个建议,虽然LZ的方法/类命名已经很到位了,基本一眼能看出是什么功能,
但是你一个注释都没有,真是纠结 --------------------编程问答-------------------- 果然到处都是LinQ

--------------------编程问答-------------------- 来膜拜下,看不懂的说。。。 --------------------编程问答-------------------- --------------------编程问答--------------------    楼主好人!下一步实现文件传输吧! --------------------编程问答-------------------- 留名收藏了  。。 --------------------编程问答-------------------- 这个必须支持 --------------------编程问答-------------------- 先頂。。。。 --------------------编程问答-------------------- WCF下一个目标就是它  我也要写一个 WCF数据同步的工具 LZ有没事好方案没 --------------------编程问答-------------------- --------------------编程问答-------------------- 感谢楼主无私分享啊 --------------------编程问答-------------------- --------------------编程问答-------------------- 空闲时学学,留记号 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 空闲时学学,留记号 --------------------编程问答--------------------
引用 46 楼 xtiu77 的回复:
引用 44 楼 caozhy 的回复:
引用 41 楼 xtiu77 的回复:引用 38 楼 xtiu77 的回复:
引用 37 楼 caozhy 的回复:引用 36 楼 xtiu77 的回复:引用 31 楼 caozhy 的回复:引用 14 楼 davinciyxw 的回复:顶一个,等源代码学习。

引用 19 楼 longruliang 的回复:楼主的代码在哪呢?

http://……

也谢谢你的测试和反馈。 --------------------编程问答-------------------- 楼主好人一生平安 1024 --------------------编程问答-------------------- LZ你太懒了 几乎没有注释 --------------------编程问答--------------------
引用 68 楼 java_saber 的回复:
LZ你太懒了 几乎没有注释


小曹版主一直强烈呼吁优雅,规范
但他自己写的代码就是一坨便便

--------------------编程问答-------------------- 来看一下,好用吗? --------------------编程问答-------------------- 界面不好看   做一个皮肤吧 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- --------------------编程问答-------------------- 这个可以有!~ --------------------编程问答-------------------- 谢谢楼主分享! --------------------编程问答-------------------- 非常感谢~谢谢 --------------------编程问答-------------------- 用什么语言写的呢 --------------------编程问答-------------------- 无论怎样,开源了,就必须支持~! --------------------编程问答-------------------- 我在学校的时候就写过的,基于TCP/IP的, --------------------编程问答-------------------- 如果能修改一下文件名称及目录结构就好了
例如将两个服务契约及服务契约的实现单放在一个项目中,将ServiceAgent改成ServieProxy等等 --------------------编程问答-------------------- 谢谢LZ分享。 --------------------编程问答-------------------- LZ能不能讲解下原理。

是A客户端发送信息到服务器,然后A,B客户端定时查询服务器有没有新信息吗?
还是其他? 请解释下呗,谢谢了。 --------------------编程问答-------------------- 要原理,  不要代码~   这才是对的。 --------------------编程问答--------------------
引用 82 楼 zsaaa 的回复:
LZ能不能讲解下原理。

是A客户端发送信息到服务器,然后A,B客户端定时查询服务器有没有新信息吗?
还是其他? 请解释下呗,谢谢了。

利用nettcpbinding的双工去做的。 用户登录成功后会向服务器端(也就是那个控件台应用程序)传入登录的用户名及回传方法,回传的操作就封装在这里。 服务器端会将这些缓存起来。
当其它用户登录成功或者发送消息时,就会遍历缓存起来的回发方法,进行消息回传。(回传操作就是更新用户列表啦,接收消息啦之类的) --------------------编程问答--------------------
引用 84 楼 lixiaolian7 的回复:
引用 82 楼 zsaaa 的回复:LZ能不能讲解下原理。

是A客户端发送信息到服务器,然后A,B客户端定时查询服务器有没有新信息吗?
还是其他? 请解释下呗,谢谢了。
利用nettcpbinding的双工去做的。 用户登录时会向服务器端(也就是那个控件台应用程序)传入登录的用户名及回传方法,回传的操作就封装在这里。 服务器端会将这些缓存起来。
当其它用户……

改了个错误
--------------------编程问答--------------------
引用 84 楼 lixiaolian7 的回复:
当其它用户登录成功或者发送消息时,就会遍历缓存起来的回发方法,进行消息回传。

这句话不是很理解。当A用户给B发送信息时候,B用户必需登录或者发送消息这另个动作才能够获取到这条信息? --------------------编程问答-------------------- WCF是什么 --------------------编程问答--------------------
引用 86 楼 zsaaa 的回复:
引用 84 楼 lixiaolian7 的回复:当其它用户登录成功或者发送消息时,就会遍历缓存起来的回发方法,进行消息回传。
这句话不是很理解。当A用户给B发送信息时候,B用户必需登录或者发送消息这另个动作才能够获取到这条信息?


B登录时,会向服务端注册自己(实际就是将回调信息缓存在服务器端),这个登录过程,就是先在ServiceAgent构造中创建双工通道工厂(即DuplexChannelFactory),其中InstanceContext就是回调信息。然后再生成通道,通过通道调用Login方法。
然后再看服务器端,Service中的Login方法,将登录的用户注册到服务器端(即通过GetCallbackChannel获取回调信息,将回调信息存入callbacks中)。

当A向B发送消息时,最终会调用Service中的SendMessage方法,该方法会调OnMessageAgent,OnMessageAgent中会查询出与B的回调信息,执行,然后B就会执行回调方法中的信息啦 --------------------编程问答-------------------- B的回调信息中的OnMessage是一个Action,这个Action是B登录中就封装好的,其实就是封装了一个向TextBox写值的操作 --------------------编程问答--------------------
引用 88 楼 lixiaolian7 的回复:
引用 86 楼 zsaaa 的回复:
引用 84 楼 lixiaolian7 的回复:当其它用户登录成功或者发送消息时,就会遍历缓存起来的回发方法,进行消息回传。
这句话不是很理解。当A用户给B发送信息时候,B用户必需登录或者发送消息这另个动作才能够获取到这条信息?

B登录时,会向服务端注册自己(实际就是将回调信息缓存在服务器端),这个登录过程,就是先在ServiceAgent构造中创建……


说得很好啊,谢谢你! --------------------编程问答-------------------- 很好的帖子.谢谢分享 --------------------编程问答-------------------- --------------------编程问答-------------------- 看了一下代码,一行注释也没有,新手还真有点难懂... --------------------编程问答--------------------
引用 82 楼 zsaaa 的回复:
LZ能不能讲解下原理。

是A客户端发送信息到服务器,然后A,B客户端定时查询服务器有没有新信息吗?
还是其他? 请解释下呗,谢谢了。

不好意思,写得简略了。这个是双工通讯,客户端和服务器端都可以主动发消息通知对方。不是轮询的。 --------------------编程问答-------------------- 支持,顶... --------------------编程问答-------------------- 顶一下,支持 --------------------编程问答--------------------
引用 94 楼 caozhy 的回复:
引用 82 楼 zsaaa 的回复:LZ能不能讲解下原理。

是A客户端发送信息到服务器,然后A,B客户端定时查询服务器有没有新信息吗?
还是其他? 请解释下呗,谢谢了。
不好意思,写得简略了。这个是双工通讯,客户端和服务器端都可以主动发消息通知对方。不是轮询的。


引用 88 楼 lixiaolian7 的回复:
引用 86 楼 zsaaa 的回复:引用 84 楼 lixiaolian7 的回复:当其它用户登录成功或者发送消息时,就会遍历缓存起来的回发方法,进行消息回传。
这句话不是很理解。当A用户给B发送信息时候,B用户必需登录或者发送消息这另个动作才能够获取到这条信息?

B登录时,会向服务端注册自己(实际就是将回调信息缓存在服务器端),这个登录过程,就是先在Servic……

谢谢你的详细解释啦,了解了很多。回去我吧代码下下来自己研究学习。
--------------------编程问答-------------------- 要是能p2p聊天就好了。 --------------------编程问答--------------------
引用 98 楼 yuwenge 的回复:
要是能p2p聊天就好了。


呵呵,谢谢关注。p2p稍微复杂点,客户端自托管一个服务用来接收消息,服务器在双方建立会话的时候告诉双方客户端对方地址端口就可以了。 --------------------编程问答-------------------- 大家有用过主机屋吗 免费的哦 我感觉不错 如果把这个代码放到主机屋里面 可以测试学习
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,