c#基于socket的聊天工具与其源码...
时间:2010-08-11 来源:xianshengsun
本例为家猫本人原作,
做此工具时刚从学校毕业,那会比较爱学习,所以此工具代码有点点乱,
此工具本是基于局域网的聊天工具,无需建立服务端,直接通过协议同步网内用户
后来扩展了外网功能,后面会讲到
主要是用于公司内部交流用,集成了涂鸦,表情,截图等简单功能
当启动nettalk工具后,
可以在菜单个人设置中简单地设置下名称和分组
下面是涂鸦效果图:
功能都比较简单,,可以用来学习,,用到的知识点还是很广的
局域网聊天很简单,服务端都不用启用,直接每个人启动客户端即可
下面来说说怎么部署到外网:
首先得有一台外网能访问的机器,一般家庭网络的做法是通过路由器映射一个端口到您当做服务器的IP上,我默认用的端口是:60000
你可以改为你需要的端口,如果改端口得到server端的app.config中的配置改为你的端口,
port为服务端采用的端口
server就是您的外网IP,我这里用的是花生壳域名,因为我没有静态IP
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
</connectionStrings>
<appSettings>
<!-- 是否自动启动并开启服务器-->
<add key="AUTOSTART" value="false"/>
<!--是否对本地用户监听-->
<add key="LISTENLOCAL" value="false"/>
<!--是否为二级服务器-->
<add key="LEVELSERVER" value="false"/>
<!--如果为二级服务器此地址才会有效,为主服务器的地址-->
<add key="SERVER" value="haofefe.gicp.net"/>
<!--如果为主服务器,此项为主服务器的监听端口,,如果为二级服务器,此端口为远程主服务器的端口,与SERVER项一起使用-->
<add key="PORT" value="60000"/>
</appSettings>
</configuration>
配置好服务端后启动程 序:
点控制菜单中的启动服务即可
成功启动后,,其它客户端就可以登 录此服务端了
外网需要注册用户,,在服务端工具菜单有注册用户。。。暂不提供客户端注册,大家可以自已扩展
下面说说客户端怎么连接服务端:
其它的跟局域网一样设置,只要从工具的选项菜单中,点击网络设置,勾选外网用户,,
填上服务器IP或域名,
端口就是您映射到服务器的和服务端app.config中设置的端口
确定重启netTalk聊天工具
从服务端新增一个用户:jiamao 密码:123456
打开聊天工具,,从菜单中选择登 录:
输入jiamao 123456
登 录就可看到如下效果:
如果有内网用户则会在内网用户栏中显示,,外网的显示在外网栏
源码下载:http://www.jiamaocode.com/Pros/1204.html