日期:2014-05-20  浏览次数:20728 次

C#基于socket的聊天工具与其源码
本例为家猫本人原作,
 
做此工具时刚从学校毕业,那会比较爱学习,所以此工具代码有点点乱,
 
此工具本是基于局域网的聊天工具,无需建立服务端,直接通过协议同步网内用户
 
后来扩展了外网功能,后面会讲到
 
主要是用于公司内部交流用,集成了涂鸦,表情,截图等简单功能
 
 当启动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

------解决方案--------------------
有技术,可以学习
------解决方案--------------------
真的做的挺好啊
------解决方案--------------------
谢谢LZ的分享.值得学习一下.
------解决方案--------------------
非常好
有技术学习了
------解决方案--------------------
至少开源是种精神.