• 内网聊天工具FreeChat Beta


    今天自己做了一个小软件,取名叫FreeChat
    主要的用途是局域网内聊天,主要用到.net  的Socket类.Thread并自己封装了数据包.

    下载地址:/Files/BearOcean/FreeChat(Beta).rar

    现在作为Beta版发布...也把源代码发出来.我是菜鸟.希望高手不要鄙视.因为是基于.net的,所以至少需要FrameWork1.1

    使用说明如下图:


    很简单...在1.0中想添加一些其他的功能.比如允许文件传送,而且觉得输入IP或者计算机名的方式有点麻烦.

    原代码如下:

    using System;
    using System.Drawing;
    using System.Collections;
    using System.ComponentModel;
    using System.Windows.Forms;
    using System.Data;

    using System.Net;
    using System.Net.Sockets;
    using System.Text;
    using System.IO;
    using System.Threading;

    namespace FreeChat
    {
        
        
        
    public class FmFreeChat : System.Windows.Forms.Form
        
    {
            
    const int MSGINFOLENGTH=10;
            
    const int MSGREMOTENAME=20;
            
    const int MAXPACKSIZE=100;

            
    private System.Windows.Forms.Button BtSend;
            
    private System.Windows.Forms.Button BtExit;
            
    private System.Windows.Forms.RichTextBox RtxSend;
            
    private System.Windows.Forms.RichTextBox RtxInfo;
            
    private System.Windows.Forms.Label LbComName;
            
    private System.Windows.Forms.TextBox TxtTarget;

            
    private IPHostEntry hostentryHost;
            
    private IPEndPoint endpointHost;
            
    private Socket sockListener;
            
    private Thread thWorker;
            
    private System.Windows.Forms.MenuItem menuItem1;
            
    private System.Windows.Forms.MainMenu MeunFreeChat;
            
    private System.Windows.Forms.MenuItem menuItemSave;
            
    private System.Windows.Forms.MenuItem menuItemSaveClear;
            
    private System.Windows.Forms.MenuItem menuItemClear;
            
    private System.Windows.Forms.MenuItem menuItemHelp;
            
    private System.Windows.Forms.MenuItem menuItemAbFreeChat;
            
    private System.Windows.Forms.MenuItem menuItemAbMe;
            
    private System.Windows.Forms.MenuItem menuItem6;
            
    private System.Windows.Forms.MenuItem menuItem7;
            
    private System.Windows.Forms.MenuItem menuItem8;
            
            
    private System.ComponentModel.Container components = null;

            
    public FmFreeChat()
            
    {
                InitializeComponent();        
            }


            
    Dispose

            
    Windows
            
            [STAThread]

            
    Main

            
    FreeChatInit

            
    WorkerProc

            
    FmFreeChat_Load

            
    BtExit_Click

            
    BtSend_Click

            
    RtxInfo_TextChanged

            
    menuItemClear

            
    RecordSave

            
    menuItemSave

            
    menuItemSaveClear

            
    menuItemAbFreeChat

            
    menuItemAbMe

            
            
        }

    }

    然后是负责储存聊天记录的部分:

     

    using System;
    using System.Windows.Forms;
    using System.IO;

    namespace FreeChat
    {
        
    /// <summary>
        
    /// Record 
        
    /// </summary>

        public class Record
        
    {
            
    public Record()
            
    {
                
            }


            
    public static void RecordMessage(string strMessage)//CreateDirectory And File
            {
                Directory.CreateDirectory(
    "FreeChatLogs");
                DateTime dt
    =DateTime.Now;
                
    string today=dt.ToString("yyyy-MM-dd");
                
    string strRecordTime=dt.ToString("yyyy-MM-dd:HH:mm:ff");

                StreamWriter swRecordFile
    =new StreamWriter(String.Concat("FreeChatLogs\\",today,".chat"),true,System.Text.Encoding.UTF8);
                swRecordFile.WriteLine(String.Concat(
    "RecordTime:",strRecordTime));
                swRecordFile.WriteLine(
    "------------------------------------------------------------------");
                swRecordFile.Write(strMessage);
                swRecordFile.Write(
    "\n\n\n\n\n");
                swRecordFile.Close();

                MessageBox.Show(
    "Record Success","FreeChat");
                
            }

        }

    }


    代码基本上就是这些.1.0肯定会对它进行补全和修改,还有功能添加.

     

  • 相关阅读:
    python: 字符串按空格分成列表split与加密密码maketrans
    android 几个工具方法
    华硕N43sl VNP 连接问题 800 807 621
    git 创建新项目,下载工程,合并和更新工程简单应用记录
    android分析windowManager、window、viewGroup之间关系(二)
    android分析windowManager、window、viewGroup之间关系(一)
    meta-data获取小结
    转载: 项目经验分享
    不想写代码了
    MapReduce源码分析总结(转)
  • 原文地址:https://www.cnblogs.com/BearOcean/p/319310.html
Copyright © 2020-2023  润新知