`
luozhong915127
  • 浏览: 189137 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
文章分类
社区版块
存档分类
最新评论

C# 聊天室的框架设计实现源码

阅读更多

C#代码    

     要想QQ一样有聊天室,C#里是个可是编程的软件,呵呵,textlabel可以拖就可以了,呵呵。和容易。可是怎样显示字符和怎样获得字符是个事情。嗯,我花了差不多一个是完成了,可是完成之后,好简单的,嗯。与java的差不多,代码如下: 

  C#代码  

namespace TcpIp通信   
{   
    partial class Form1   
    {   
        /// <summary>   
        /// 必需的设计器变量。   
        /// </summary>   
        private System.ComponentModel.IContainer components = null;   
  
        /// <summary>   
        /// 清理所有正在使用的资源。   
        /// </summary>   
        /// <param name="disposing">如果应释放托管资源,为 true;否则为    
  
false。</param>   
        protected override void Dispose(bool disposing)   
        {   
            if (disposing && (components != null))   
            {   
                components.Dispose();   
            }   
            base.Dispose(disposing);   
        }  
 
        #region Windows 窗体设计器生成的代码   
  
        /// <summary>   
        /// 设计器支持所需的方法 - 不要   
        /// 使用代码编辑器修改此方法的内容。   
        /// </summary>   
        private void InitializeComponent()   
        {   
              
            this.richTextBox2 = new System.Windows.Forms.RichTextBox();   
            this.button1 = new System.Windows.Forms.Button();   
            this.label1 = new System.Windows.Forms.Label();   
            this.label3 = new System.Windows.Forms.Label();   
            this.SuspendLayout();   
            this.richTextBox1 = new System.Windows.Forms.RichTextBox();   
  
            //    
            // richTextBox1   
            //    
              
            this.richTextBox1.Location = new System.Drawing.Point(26,    
  
28);   
            this.richTextBox1.Name = "richTextBox1";   
            this.richTextBox1.Size = new System.Drawing.Size(395, 241);   
            this.richTextBox1.TabIndex = 7;   
            this.richTextBox1.Text = "";     
            //    
            // richTextBox2   
            //    
            this.richTextBox2.Location = new System.Drawing.Point(40,    
  
299);   
            this.richTextBox2.Name = "richTextBox2";   
            this.richTextBox2.Size = new System.Drawing.Size(381, 133);   
            this.richTextBox2.TabIndex = 2;   
            this.richTextBox2.Text = "";   
            this.richTextBox2.TextChanged += new System.EventHandler   
  
(this.seMsg);   
            //    
            // button1   
            //    
            this.button1.Location = new System.Drawing.Point(346, 438);   
            this.button1.Name = "button1";   
            this.button1.Size = new System.Drawing.Size(75, 23);   
            this.button1.TabIndex = 3;   
            this.button1.Text = "send";   
            this.button1.UseVisualStyleBackColor = true;   
            this.button1.Click += new System.EventHandler   
  
(this.button1_Click);   
            //    
            // label1   
            //    
            this.label1.AutoSize = true;   
            this.label1.Location = new System.Drawing.Point(183, 281);   
            this.label1.Name = "label1";   
            this.label1.Size = new System.Drawing.Size(53, 12);   
            this.label1.TabIndex = 5;   
            this.label1.Text = "发送信息";   
            //    
            // label3   
            //    
            this.label3.AutoSize = true;   
            this.label3.Location = new System.Drawing.Point(185, 13);   
            this.label3.Name = "label3";   
            this.label3.Size = new System.Drawing.Size(53, 12);   
            this.label3.TabIndex = 6;   
            this.label3.Text = "接受信息";   
            //    
            // Form1   
            //    
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F,    
  
12F);   
            this.AutoScaleMode =    
  
System.Windows.Forms.AutoScaleMode.Font;   
            this.ClientSize = new System.Drawing.Size(447, 466);   
            this.Controls.Add(this.label3);   
            this.Controls.Add(this.label1);   
            this.Controls.Add(this.button1);   
            this.Controls.Add(this.richTextBox2);   
            this.Controls.Add(this.richTextBox1);   
            this.Margin = new System.Windows.Forms.Padding(2, 3, 2, 3);   
            this.Name = "Form1";   
            this.Text = "Form1";   
            this.Load += new System.EventHandler(this.Form1_Load);   
            this.ResumeLayout(false);   
            this.PerformLayout();   
  
        }  
 
        #endregion   
  
        private System.Windows.Forms.RichTextBox richTextBox1;   
        private System.Windows.Forms.RichTextBox richTextBox2;   
        private System.Windows.Forms.Button button1;   
           
        private System.Windows.Forms.Label label1;   
        private System.Windows.Forms.Label label3;   
    }   
}  

namespace TcpIp通信
{
    partial class Form1
    {
        /// <summary>
        /// 必需的设计器变量。
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary>
        /// 清理所有正在使用的资源。
        /// </summary>
        /// <param name="disposing">如果应释放托管资源,为 true;否则为 

false。</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Windows 窗体设计器生成的代码

        /// <summary>
        /// 设计器支持所需的方法 - 不要
        /// 使用代码编辑器修改此方法的内容。
        /// </summary>
        private void InitializeComponent()
        {
           
            this.richTextBox2 = new System.Windows.Forms.RichTextBox();
            this.button1 = new System.Windows.Forms.Button();
            this.label1 = new System.Windows.Forms.Label();
            this.label3 = new System.Windows.Forms.Label();
            this.SuspendLayout();
            this.richTextBox1 = new System.Windows.Forms.RichTextBox();

            // 
            // richTextBox1
            // 
           
            this.richTextBox1.Location = new System.Drawing.Point(26, 

28);
            this.richTextBox1.Name = "richTextBox1";
            this.richTextBox1.Size = new System.Drawing.Size(395, 241);
            this.richTextBox1.TabIndex = 7;
            this.richTextBox1.Text = "";  
            // 
            // richTextBox2
            // 
            this.richTextBox2.Location = new System.Drawing.Point(40, 

299);
            this.richTextBox2.Name = "richTextBox2";
            this.richTextBox2.Size = new System.Drawing.Size(381, 133);
            this.richTextBox2.TabIndex = 2;
            this.richTextBox2.Text = "";
            this.richTextBox2.TextChanged += new System.EventHandler

(this.seMsg);
            // 
            // button1
            // 
            this.button1.Location = new System.Drawing.Point(346, 438);
            this.button1.Name = "button1";
            this.button1.Size = new System.Drawing.Size(75, 23);
            this.button1.TabIndex = 3;
            this.button1.Text = "send";
            this.button1.UseVisualStyleBackColor = true;
            this.button1.Click += new System.EventHandler

(this.button1_Click);
            // 
            // label1
            // 
            this.label1.AutoSize = true;
            this.label1.Location = new System.Drawing.Point(183, 281);
            this.label1.Name = "label1";
            this.label1.Size = new System.Drawing.Size(53, 12);
            this.label1.TabIndex = 5;
            this.label1.Text = "发送信息";
            // 
            // label3
            // 
            this.label3.AutoSize = true;
            this.label3.Location = new System.Drawing.Point(185, 13);
            this.label3.Name = "label3";
            this.label3.Size = new System.Drawing.Size(53, 12);
            this.label3.TabIndex = 6;
            this.label3.Text = "接受信息";
            // 
            // Form1
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 

12F);
            this.AutoScaleMode = 

System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(447, 466);
            this.Controls.Add(this.label3);
            this.Controls.Add(this.label1);
            this.Controls.Add(this.button1);
            this.Controls.Add(this.richTextBox2);
            this.Controls.Add(this.richTextBox1);
            this.Margin = new System.Windows.Forms.Padding(2, 3, 2, 3);
            this.Name = "Form1";
            this.Text = "Form1";
            this.Load += new System.EventHandler(this.Form1_Load);
            this.ResumeLayout(false);
            this.PerformLayout();

        }

        #endregion

        private System.Windows.Forms.RichTextBox richTextBox1;
        private System.Windows.Forms.RichTextBox richTextBox2;
        private System.Windows.Forms.Button button1;
        
        private System.Windows.Forms.Label label1;
        private System.Windows.Forms.Label label3;
    }
} 
C#代码  
using System;   
using System.Collections.Generic;   
using System.ComponentModel;   
using System.Data;   
using System.Drawing;   
using System.Linq;   
using System.Text;   
using System.Windows.Forms;   
using System.Net;   
using System.Net.Sockets;   
  
namespace TcpIp通信   
{   
    public partial class Form1 : Form   
    {   
  
        string semsg;   
        string name;   
          
        public Form1()   
        {   
            InitializeComponent();   
            ChatServer();   
        }   
        private void button1_Click(object sender, EventArgs e)   
        {   
  
            name = ((Button)sender).Name;   
  
              
            if (name.Equals("button1"))   
            {   
                this.richTextBox1.AppendText("服务器说:\n");   
                this.richTextBox1.AppendText(semsg+"\n");   
                this.richTextBox2.Text="";   
                Console.WriteLine("打印成功" + semsg);   
            }   
  
        }   
        private void Form1_Load(object sender, EventArgs e)   
        {   
  
        }   
           
        private void seMsg(object sender, EventArgs e)   
        {   
  
            semsg = ((RichTextBox)sender).Text;   
  
              
        }   
   }   
}  

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.Net.Sockets;

namespace TcpIp通信
{
    public partial class Form1 : Form
    {

        string semsg;
        string name;
       
        public Form1()
        {
            InitializeComponent();
            ChatServer();
        }
        private void button1_Click(object sender, EventArgs e)
        {

            name = ((Button)sender).Name;

           
            if (name.Equals("button1"))
            {
                this.richTextBox1.AppendText("服务器说:\n");
                this.richTextBox1.AppendText(semsg+"\n");
                this.richTextBox2.Text="";
                Console.WriteLine("打印成功" + semsg);
            }

        }
        private void Form1_Load(object sender, EventArgs e)
        {

        }
        
        private void seMsg(object sender, EventArgs e)
        {

            semsg = ((RichTextBox)sender).Text;

           
        }
   }
}

 

 

<!--EndFragment-->
1
1
分享到:
评论
1 楼 q114687576 2016-04-08  
http://www.blue-zero.com/Chat/ 在线聊天室,基于websocket传输协议,服务端采用事件异步socket监听。支持多用户登录,用户对公或者用户对用户发送消息,具有消息提醒,修改昵称提醒,用户登录提醒。

相关推荐

    C#聊天室完整源码

    【C#聊天室完整源码】是一个基于C#编程语言实现的实时通信应用程序,它提供了基本的聊天功能,允许用户之间进行文字交流。这个项目对于学习C#网络编程、多线程处理以及UI设计等技术有着很好的实践价值。在本文中,...

    C#在线聊天室源码文件

    这个源码实现了一个基本的在线聊天室功能,允许用户通过网络进行实时交流。开发者或者学生可以通过分析和理解源码,深入学习C#语言在网络编程中的应用,特别是对于Socket编程的理解。 在C#编程中,网络通信通常涉及...

    C#实现Socket聊天室源码

    本篇将详细解析"**C#实现Socket聊天室源码**"的相关知识点,帮助你深入理解如何利用C#进行Socket编程,创建一个简单的聊天室。 首先,Socket在计算机网络中扮演着客户端和服务器之间通信桥梁的角色。它允许两个网络...

    一个用C#写的聊天室源码

    5. **UI设计**:聊天室的用户界面(UI)可能使用Windows Forms或WPF框架构建,这两个都是C#提供的GUI库。开发者可能会使用TextBox控件显示聊天历史,Button控件触发发送消息,ListView或ListBox控件显示在线用户列表...

    Csharp聊天室源码.rar_C#聊天室_聊天_聊天室_聊天室 C

    【标签】"c#聊天室 聊天 聊天室 聊天室_c_"进一步确认了该源码的核心特性,即C#实现的聊天室功能。"c#"表示这是C#编程语言的项目,"聊天"和"聊天室"标签表明了软件的主要用途,而"_c_"可能是对编程语言C#的另一种...

    聊天室开发源码下载C#

    在本项目中,我们关注的是一个使用C#编程语言开发的简单聊天室源码。C#,由微软公司推出,是一种面向对象的、现代的、类型安全的编程语言,广泛应用于Windows平台上的软件开发,尤其是游戏开发、桌面应用以及Web应用...

    C#聊天室 教程+源码

    在这个"C#聊天室"教程中,我们将深入探讨如何使用C#来构建一个基于CSocket(套接字)技术的聊天应用程序。CSocket是C#中的网络通信库,它允许程序员创建客户端和服务器端的网络连接,实现数据的双向传输。 首先,...

    简单C#聊天室源码 适合初学者

    总的来说,这个C#聊天室源码为初学者提供了一个很好的实践平台,通过学习和分析这个项目,你不仅可以掌握C#的基础知识,还能深入了解网络编程、多线程和UI设计等高级主题。同时,别忘了在实践中不断优化和改进代码,...

    C#聊天程序完整版(附源代码)

    "C#聊天程序完整版(附源代码).rar"可能包含了项目的全部源代码、编译后的可执行文件、设计文档、配置文件和其他必要的资源文件。源代码是程序的原始编写形式,对于学习和理解程序的工作原理至关重要。 【标签】...

    用C#做的聊天室源码

    在这个C#聊天室源码中,以下是一些关键知识点: 1. **网络编程**:C#提供了System.Net命名空间,包含Socket类,用于实现客户端和服务器之间的TCP/IP通信。聊天室的核心功能就是实时收发消息,这需要对套接字编程有...

    c#winform聊天室源码

    通过分析和理解这个C# WinForm聊天室源码,你可以学习到如何在C#环境下使用Socket进行网络通信,以及如何结合WinForm设计用户界面和处理多线程。这对于提升你的网络编程和桌面应用开发技能大有裨益。

    C#版聊天室系统

    在本项目中,我们讨论的是一个使用C#编程语言实现的聊天室系统。C#是一种由微软开发的面向对象的编程语言,广泛应用于Windows平台上的应用程序开发,包括网络应用和服务。这个聊天室系统的设计和实现涉及到多方面的...

    c#源码C#版聊天室.rar

    总结来说,这个"C#版聊天室"源码为我们展示了如何结合ASP.NET和C#实现一个实时的网络应用。通过学习这个项目,我们可以深入理解网络编程、多线程技术、数据库操作以及异常处理等多个核心知识点。对于想要提升自己C#...

    最简单无刷新聊天室源码C#

    【标题】"最简单无刷新聊天室源码C#"揭示了这是一个使用C#编程语言实现的、基于Ajax技术的实时聊天室系统。无刷新技术使得用户在聊天过程中无需手动刷新页面,即可即时查看和发送消息,提升了用户体验。 【描述】...

    c#QQ聊天系统源码

    2. 聊天室与私聊:聊天功能分为群组聊天和一对一私聊。在C#中,可以使用套接字(Socket)类来实现客户端与服务器之间的数据传输。消息发送和接收通常采用TCP协议,因为它提供可靠的数据传输,适合聊天应用需求。 3....

    基于C#的winform局域网聊天程序源码(支持远程桌面浏览)

    标题中的“基于C#的winform局域网聊天程序源码(支持远程桌面浏览)”指出,这是一个使用C#编程语言开发的Windows Forms应用程序,它的主要功能是实现局域网内的聊天功能,并且还包含了远程桌面浏览的能力。...

    制作聊天室(1)_C#_

    在本项目中,"制作聊天...总的来说,"制作聊天室(1)_C#"项目涵盖了C#的网络编程、多线程、用户界面设计等多个核心领域,对于初学者来说,这是一个很好的实践平台,可以帮助他们深入理解C#编程以及网络应用的实现原理。

    .net聊天室源码

    本文将详细探讨.NET聊天室源码的实现,主要针对初学者和希望深入了解网络通信编程的开发者。该聊天室源码仅实现了基本功能,适用于辅助教学,帮助学习者理解网络通信的核心概念。 首先,我们要明白.NET框架是微软...

    一个基于.Net 3.5+LINQ+AJAX实现的JChat简易聊天室源码

    基于.Net 3.5框架、结合LINQ(Language Integrated Query)查询语言和AJAX(Asynchronous JavaScript and XML)异步技术的JChat简易聊天室源码,为我们提供了一个高效、实时的在线交流平台。本文将深入探讨这些技术...

    C#网上在线聊天系统源码

    2. 聊天模块:实现了聊天室、一对一私聊、消息发送与接收等功能,可能涉及到WebSocket或其他长连接技术。 3. 数据库脚本:用于创建和管理用户数据、聊天记录等相关数据库表的SQL语句。 4. UI资源:包括HTML、CSS和...

Global site tag (gtag.js) - Google Analytics