c#编写的基于TCP通信的微风IM 版本3 新年新UI

在微风 IM 版本2中我们实现了局域网内的p2p通信,具体见:

【开源下载】c#编写的聊天程序微风IM 版本2 增加局域网P2P通信

前面有朋友说微风IM的UI有点朴素,也确实,于是到网上去淘了件新衣服。

新的UI来自于网上开源程序,由“翱翔的雄鹰”老师编写的完全开源的QQ2010.(c# WinForm).新的UI中有许多自定义控件,我从其中学到了很多Winfrom控件制作的知识。

比如,带边框的文本框

 文本框

鼠标经过时,显示边框的按钮

 按钮

鼠标经过时显示边框效果的CheckBox

 CheckBox

我们看一下新的微风V3的UI

我们实现了登陆功能,注册新账号,找回密码等都没有实现,是原来UI 上面有的

聊天窗口:

支持更换皮肤

服务器端、数据库、通信框架没有变化,请去  微风IM V1,或 微风IM V2相关文章下载。

微风IM V3客户端EXE文件

祝大家新年快乐

谢谢大家的支持

源码包含以下四个工程文件,通信框架需要另行下载

源码  ( 包含客户端与服务器端)  数据库下载

时间: 2024-10-06 07:26:33

c#编写的基于TCP通信的微风IM 版本3 新年新UI的相关文章

基于TCP通信的套接字

基于tcp通信的套接字必须先启动服务器再去启动客户端去链接服务器 客户端 服务端 这只是基于tcp通信的一个简单的套接字  只能进行一次的通信 服务端                                                                                                 客户端 这是能多次通信的套接字 在阻塞前添加一个循环就能实现一个链接循环 服务端 客户端 这是模拟ssh实现远程执行命令 粘包问题 二.两种情况下会发生粘包

java总用Socket 基于tcp通信模拟

/* * 基于TCP协议的socket通信,实现用户登录 */ public class ServerMain1 { public static void main(String[] args) { try { //1.创建一个服务器端的Socket,ServerSocket ,指定绑定的端口,并监听此端口 ServerSocket serverSocket=new ServerSocket(8888);//端口已设置1023以后的端口 //2.调用accept()方法开始监听,等待客户端连接

基于Tcp通信的聊天程序微风IM(c#开源) -技术分析(一) 用户管理

在微风IM中,如果用户上线了,其他用户的用户列表中,此用户状态更新为上线状态,如果用户下线了,此用户的头像会变成灰色. 我们看一下相关的代码: 首先是客户端代码(1): UserInfo userInfo = new UserInfo(); userInfo.UserID = txtUserID.Text.Trim(); userInfo.Password = txtPassword.Text.Trim(); //发送契约类给服务器端,并获取返回的结果 UserLoginContract log

基于Tcp通信的聊天程序微风IM(c#开源) -技术分析(三) 客户端下线

在微风IM中,当某个客户端下线后,其他客户端能够感知到此用户已经下线,并把其头像图标变成灰色. 感知连接的掉线,是networkcomms框架内置的功能,服务器通过心跳检测得知某连接掉线,会从networkcomms内部维护的连接列表中删除此连接,并触发相应的委托. 我们要处理某连接掉线,只需要注册  NetworkComms.AppendGlobalConnectionCloseHandler 方法即可 服务器端代码如下: //如果某客户端离线,触发此方法 NetworkComms.Appen

【c#源码】基于TCP通信的客户端断线重连

源码下载 在CS程序中,断线重连应该是一个常见的功能. 此处的断线重连主要指的是服务器端因为某种故障,服务器端程序或者系统进行了重新启动,客户端能够自动探测到服务器端掉线,并尝试重新进行连接 本程序基于来自英国的开源c#通信框架的networkcomms(2.3.1版本) 先看一下效果 初始状态: 当服务器端程序关闭后,客户端会自动探测到,并在客户端显示相关信息 然后,我们设定为每隔5秒重连一次,可以自定义设置重连的次数,比如说重连50次,如果还没有重连成功,则放弃重连 然后我们重新启动服务器端

基于TCP通信的客户端断线重连

转载:http://www.cnblogs.com/networkcomms/p/4304362.html 源码下载 在CS程序中,断线重连应该是一个常见的功能. 此处的断线重连主要指的是服务器端因为某种故障,服务器端程序或者系统进行了重新启动,客户端能够自动探测到服务器端掉线,并尝试重新进行连接 本程序基于来自英国的开源c#通信框架的networkcomms(2.3.1版本) 先看一下效果 初始状态: 当服务器端程序关闭后,客户端会自动探测到,并在客户端显示相关信息 然后,我们设定为每隔5秒重

[源码分享]微风IM 3.2 实现新用户注册 含详细过程

在 c#编写的基于TCP通信的微风IM 版本3 新年新UI 一文中,登陆窗口如下: 登陆等功能是没有问题的,但是“注册新账号”,“找回密码”,“设置”等功能并没有实现,是原来的UI皮肤上自带的. 本文首先来实现“注册新账号功能” 第一步: 打开VS2010 ,找到BasicForm窗体类,这个类是美化窗体的一个基类,我们可以从此窗体继承   第二步,创建新窗体 RegisterUser.cs 把新窗体RegisterUser继承的Form类改成BasicForm类 如下图: 现在新窗体就可以使用

浅析C#基于TCP协议的SCOKET通信

TCP协议是一个基本的网络协议,基本上所有的网络服务都是基于TCP协议的,如HTTP,FTP等等,所以要了解网络编程就必须了解基于TCP协议的编程.然而TCP协议是一个庞杂的体系,要彻底的弄清楚它的实现不是一天两天的功夫,所幸的是在.net framework环境下,我们不必要去追究TCP协议底层的实现,一样可以很方便的编写出基于TCP协议进行网络通讯的程序. C#基于TCP协议的网络通讯 要进行C#基于TCP协议的网络通讯,首先必须建立同远程主机的连接,连接地址通常包括两部分--主机名和端口,

客户端通过TCP通信分页从服务器获取数据

本文主要探讨,客户端如何通过TCP通信,根据分页信息从服务器获取到相关数据 通常情况下,数据可能很多,比如几千或者几万条,并不适合一次性从服务器获取. 我们只从服务器获取当前页的数据 和数据库中记录总数以便我们可以在客户端计算出页数 ,当用户点击"上一页"或者"下一页"时,再获取相应页的数据 如下图: 双击上图中的某一项,再打开详细页面,如下图: 下面我们从头开始创建一个分页显示的Demo 通信框架采用来自英国开源的networkcomms2.3.1版本 数据库为s