ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 10868|回复: 21

WinSock 聊天小程序

[复制链接]

TA的精华主题

TA的得分主题

发表于 2009-1-19 20:06 | 显示全部楼层 |阅读模式
用WinSock控件做的聊天小程序,本机上两个客户端互发没有问题。

1.jpg    2.jpg

可是放到局域网里面,就只有电脑A能向电脑B发,反过来不行(不管是客户端1发向2还是2发向1)。但是在电脑A和电脑B上各自都能进行1和2间互发。所以有点怀疑是网络问题。另外在公网上面和朋友测试也不能成功发送,不知道是不是丢包了。同网段测试通过。

另外想再请教一下,如何做成只需要一个文件就能让所有人互发?而不需要现在这样2个客户端。见第11楼。

烦请大家测试并指点一下。谢谢! WinSock Talk Client.zip (26.7 KB, 下载次数: 538)

如果缺少WinSock控件,可以把附件里的三个文件解压到windows\system32,然后注册控件。 WINSKCHS.zip (59.75 KB, 下载次数: 480)

[ 本帖最后由 zhyzhsh 于 2009-1-21 14:05 编辑 ]

TA的精华主题

TA的得分主题

发表于 2009-1-19 20:22 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
参考 agstick 版主的
在Excel里聊天-神不知,鬼不觉!

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-1-19 21:02 | 显示全部楼层

回复 2楼 ldy 的帖子

谢谢,agstick 版主做得很好!比较了一下,和版主的异同主要有以下几点:

相同点:
WinSock,Excel 聊天
需要两个版本的文件。

不同点:
版主的是TCP协议。我的是UDP。

问题:
能不能在公网上使用呢?能不能做成只需要一个文件的版本呢?有网络编程经验的高手们指教一下呀。

TA的精华主题

TA的得分主题

发表于 2009-1-19 21:17 | 显示全部楼层
TCP和 UDP 我记得以前看过msdn
TCP是一值连着,收发信息都有回应。
UDP 是不连着 ,对一个地址发送信息后,对方是个否收到要看网络情况
TCP 象打电话,但占用资源多一些(对于现在动辄过G的内存来说,可以忽略不计)
UPD象写信,信发出后 对方不一定能收到

问题:
能不能在公网上使用呢?能不能做成只需要一个文件的版本呢?有网络编程经验的高手们指教一下呀。

是不是看到QQ只有一个客户端才有这个想法? 但是QQ还有一个庞大的服务端在网上放着呢。

可以放在公网上,需要在路由器中做一个指向,还要有域名解析软件,这个就超出EXCEL范围了,况且现在都用QQ、MSN,
做一个能在公网上聊天的软件,意义不大。

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-1-19 21:22 | 显示全部楼层

回复 4楼 ldy 的帖子

谢谢,看来我还差得远了

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-1-19 21:28 | 显示全部楼层
原帖由 ldy 于 2009-1-19 21:17 发表
是不是看到QQ只有一个客户端才有这个想法? 但是QQ还有一个庞大的服务端在网上放着呢。


不完全是。即使是在局域网里面,也会遇到1和1,2和2不能通讯的问题。如果只有一个版本,那就方便多了。

TA的精华主题

TA的得分主题

发表于 2009-1-19 21:33 | 显示全部楼层

呵呵 严禁消极

用到什么,就学什么 ,用的多了,积累多了,也就差不多了

TA的精华主题

TA的得分主题

发表于 2009-1-19 21:38 | 显示全部楼层
这个可以参考QQ

客户端A 和 B 登录, 就向QQ服务端登记了用户名、IP 端口等一系列信息

客户端A 给 B 发消息 ,其实不是直接发给B , 因为 A 不知道 B在哪里,而是发到QQ服务端。再由QQ服务端发给B

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-1-19 21:46 | 显示全部楼层

回复 8楼 ldy 的帖子

在局域网里面倒是可能的,但是还是需要有个中心。如果能够像P2P一样就好了 似乎越来越贪心,有点像做梦了 您前面讲到的“用到什么,就学什么”这句话太对了

TA的精华主题

TA的得分主题

发表于 2009-1-19 21:55 | 显示全部楼层
P2P 其实一样 一个是客户端一个是服务端。

只不过 把客户端和服务端的代码都写在一个软件里。
连接时,主动发起连接的一方就是客户端,另一个就是服务端
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-7-3 18:37 , Processed in 0.035674 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表