• 大小: 773KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-10
  • 语言: C#
  • 标签: QQ  Socket  TCP  聊天  通信  

资源简介

用C#实现的一个简单的聊天程序,基于TCP协议的多对多模式,支持悄悄话(点对点发送)和聊天室(广播发送)两种聊天模式,界面友好,具体内容下载后内详。

资源截图

代码片段和文件信息

using System;
using System.Collections;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Net.Sockets;
using System.Windows.Forms;
using System.Threading;
using System.Runtime.Serialization;
using System.Runtime.InteropServices;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
using System.Media;

namespace EasyChat
{
    public partial class chat_frm : Form
    {

        #region 私有字段

        /// 
        /// 当前用户名
        /// 

        private string _username = null;

        /// 
        /// 数据缓冲区大小
        /// 

        private int _maxPacket = 2048;

        /// 
        /// 用于接受消息的线程
        /// 

        private Thread _receiveThread = null;

        /// 
        /// 用于接受和发送的网络流,从登录窗体得到
        /// 

        private NetworkStream _nws = null;

        /// 
        /// 服务器套接字的字符串形式,从登录窗体得到
        /// 

        private string _svrskt = null;

        /// 
        /// 播放消息提示的播放器
        /// 

        private SoundPlayer _sp = new SoundPlayer(Properties.Resources.msg);

        /// 
        /// 指示是否最小化到托盘
        /// 

        private bool _hideFlag = false;

        #endregion


        #region 聊天窗体构造函数

        /// 
        /// 构造函数,得到登录窗体的一些信息
        /// 

        /// 当前用户名
        /// 接受和发送消息的网络流
        /// 服务器套接字的字符串形式
        public chat_frm(string userName NetworkStream nws string svrskt)
        {
            InitializeComponent();
            _username = userName;
            _nws = nws;
            _svrskt = svrskt;
        }

        #endregion


        #region 聊天窗体的私有方法

        /// 
        /// 保存聊天记录
        /// 

        /// 
        /// 
        private void save_btn_Click(object sender EventArgs e)
        {
            DialogResult ret;
            SaveFileDialog sfd = new SaveFileDialog();
            sfd.Filter = “文本文件(*.txt)|*.txt“;
            sfd.AddExtension = true;
            if ((ret = sfd.ShowDialog()) == DialogResult.OK)
            {
                chatrcd_rtb.SaveFile(sfd.FileName RichTextBoxStreamType.PlainText);
            }
        }

        /// 
        /// 清除聊天记录
        /// 

        /// 
        /// 
        private void clear_btn_Click(object sender EventArgs e)
        {
            DialogResult ret;
            ret = MessageBox.Show(“确定清除吗?清除后不可恢复。“ 
                                  “提示“
                                  MessageBoxButtons.OKCancel
                                  MessageBoxIcon.Questio

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      61440  2007-06-16 10:56  EasyChat\EasyChat.exe

     文件      10134  2007-06-12 16:45  EasyChat\EasyChat_Client\AquaOS.ico

     文件      57344  2007-06-16 10:57  EasyChat\EasyChat_Client\bin\Debug\EasyChat.exe

     文件      34304  2007-06-16 10:57  EasyChat\EasyChat_Client\bin\Debug\EasyChat.pdb

     文件       5632  2005-12-08 14:51  EasyChat\EasyChat_Client\bin\Debug\EasyChat.vshost.exe

     目录          0  2007-06-16 10:57  EasyChat\EasyChat_Client\bin\Debug

     文件      61440  2007-06-16 10:56  EasyChat\EasyChat_Client\bin\Release\EasyChat.exe

     文件      42496  2007-06-16 10:56  EasyChat\EasyChat_Client\bin\Release\EasyChat.pdb

     文件       5632  2005-12-08 14:51  EasyChat\EasyChat_Client\bin\Release\EasyChat.vshost.exe

     目录          0  2007-06-16 10:56  EasyChat\EasyChat_Client\bin\Release

     目录          0  2007-06-16 10:48  EasyChat\EasyChat_Client\bin

     文件      13107  2007-06-16 10:56  EasyChat\EasyChat_Client\chat_frm.cs

     文件      14284  2007-06-16 10:55  EasyChat\EasyChat_Client\chat_frm.Designer.cs

     文件      21896  2007-06-16 10:55  EasyChat\EasyChat_Client\chat_frm.resx

     文件       4137  2007-06-16 10:55  EasyChat\EasyChat_Client\EasyChat_Client.csproj

     文件        555  2007-06-10 13:51  EasyChat\EasyChat_Client\EasyChat_Client.csproj.user

     文件        257  2007-06-12 11:31  EasyChat\EasyChat_Client\EasyChat_Client.csproj.vspscc

     文件       1220  2007-06-12 12:21  EasyChat\EasyChat_Client\EasyChat_Client.sln

    ..A..H.     38912  2007-06-16 10:58  EasyChat\EasyChat_Client\EasyChat_Client.suo

     文件       5152  2007-06-13 22:36  EasyChat\EasyChat_Client\login_frm.cs

     文件       6858  2007-06-12 15:20  EasyChat\EasyChat_Client\login_frm.Designer.cs

     文件       5814  2007-06-12 15:20  EasyChat\EasyChat_Client\login_frm.resx

     文件        167  2007-06-16 10:54  EasyChat\EasyChat_Client\mssccprj.scc

     文件      10712  2007-06-16 10:57  EasyChat\EasyChat_Client\obj\Debug\EasyChat.chat_frm.resources

     文件        907  2007-06-09 14:56  EasyChat\EasyChat_Client\obj\Debug\EasyChat.csproj.GenerateResource.Cache

     文件      57344  2007-06-16 10:57  EasyChat\EasyChat_Client\obj\Debug\EasyChat.exe

     文件        180  2007-06-16 10:57  EasyChat\EasyChat_Client\obj\Debug\EasyChat.login_frm.resources

     文件      34304  2007-06-16 10:57  EasyChat\EasyChat_Client\obj\Debug\EasyChat.pdb

     文件       7462  2007-06-16 10:57  EasyChat\EasyChat_Client\obj\Debug\EasyChat.Properties.Resources.resources

     文件        944  2007-06-16 10:57  EasyChat\EasyChat_Client\obj\Debug\EasyChat_Client.csproj.GenerateResource.Cache

............此处省略70个文件信息

评论

共有 条评论