• 大小: 0.45M
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2024-04-29
  • 语言: C#
  • 标签: UDP  tcp  DP  

资源简介


资源截图

代码片段和文件信息

using System;
using System.Net;
using System.Windows.Forms;
using Mina.Core.Future;
using Mina.Core.Service;
using Mina.Core.Session;
using Mina.Filter.Codec;
using Mina.Filter.Codec.TextLine;
using Mina.Filter.Logging;
using Mina.Filter.Ssl;
using Mina.Transport.Socket;

namespace Mina.Example.Chat.Client
{
    public partial class FormChat : Form
    {
        IoConnector connector = new AsyncSocketConnector();
        IoSession session;

        public FormChat()
        {
            InitializeComponent();

            textBoxUser.Text = “user“ + Math.Round(new Random().NextDouble() * 10);

            connector.FilterChain.AddLast(“logger“ new LoggingFilter());
            connector.FilterChain.AddLast(“codec“ new ProtocolCodecFilter(new TextLineCodecFactory()));

            connector.SessionClosed += (o e) => Append(“Connection closed.“);
            connector.MessageReceived += OnMessageReceived;

            SetState(false);
        }

        private void OnMessageReceived(object sender IoSessionMessageEventArgs e)
        {
            String theMessage = (String)e.Message;
            String[] result = theMessage.Split(new Char[] { ‘ ‘ } 3);
            String status = result[1];
            String theCommand = result[0];

            if (“OK“.Equals(status))
            {
                if (String.Equals(“BROADCAST“ theCommand StringComparison.OrdinalIgnoreCase))
                {
                    if (result.Length == 3)
                        Append(result[2]);
                }
                else if (String.Equals(“LOGIN“ theCommand StringComparison.OrdinalIgnoreCase))
                {
                    SetState(true);
                    Append(“You have joined the chat session.“);
                }
                else if (String.Equals(“QUIT“ theCommand StringComparison.OrdinalIgnoreCase))
                {
                    SetState(false);
                    Append(“You have left the chat session.“);
                }
            }
            else
            {
                if (result.Length == 3)
                {
                    MessageBox.Show(result[2]);
                }
            }
        }

        private void SetState(Boolean loggedIn)
        {
            if (this.InvokeRequired)
            {
                this.Invoke(new Action(SetState) loggedIn);
                return;
            }
            buttonConnect.Enabled = textBoxUser.Enabled = textBoxServer.Enabled = !loggedIn;
            buttonDisconnect.Enabled = buttonSend.Enabled = buttonQuit.Enabled = textBoxChat.Enabled = textBoxInput.Enabled = loggedIn;
        }

        private void buttonConnect_Click(object sender EventArgs e)
        {
            String server = textBoxServer.Text;
            if (String.IsNullOrEmpty(server))
                return;

            if (checkBoxSSL.Checked)
            {
                if (!connector.FilterChain.Contains(“ssl“))
                    connector.FilterChain.Ad

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2015-11-25 13:14  Mina.NET\
     文件        1545  2015-11-25 13:14  Mina.NET\.gitignore
     目录           0  2015-11-25 13:14  Mina.NET\.nuget\
     文件         117  2015-11-25 13:14  Mina.NET\.nuget\packages.config
     文件       11325  2015-11-25 13:14  Mina.NET\LICENSE
     目录           0  2015-11-25 13:14  Mina.NET\Mina.Example\
     目录           0  2015-11-25 13:14  Mina.NET\Mina.Example\Cert\
     文件        2544  2015-11-25 13:14  Mina.NET\Mina.Example\Cert\PFXFileContainingPrivateKey.pfx
     文件         602  2015-11-25 13:14  Mina.NET\Mina.Example\Cert\README.md
     文件         762  2015-11-25 13:14  Mina.NET\Mina.Example\Cert\RootCATest.cer
     文件         422  2015-11-25 13:14  Mina.NET\Mina.Example\Cert\RootCATest.crl
     文件        1212  2015-11-25 13:14  Mina.NET\Mina.Example\Cert\RootCATest.pvk
     文件         760  2015-11-25 13:14  Mina.NET\Mina.Example\Cert\TempCert.cer
     文件        1212  2015-11-25 13:14  Mina.NET\Mina.Example\Cert\TempCert.pvk
     文件         807  2015-11-25 13:14  Mina.NET\Mina.Example\Cert\TempCert.spc
     目录           0  2015-11-25 13:14  Mina.NET\Mina.Example\Chat\
     目录           0  2015-11-25 13:14  Mina.NET\Mina.Example\Chat\Client\
     文件        2739  2015-11-25 13:14  Mina.NET\Mina.Example\Chat\Client\Client.NET20.csproj
     文件        2723  2015-11-25 13:14  Mina.NET\Mina.Example\Chat\Client\Client.csproj
     文件       12411  2015-11-25 13:14  Mina.NET\Mina.Example\Chat\Client\FormChat.Designer.cs
     文件        5134  2015-11-25 13:14  Mina.NET\Mina.Example\Chat\Client\FormChat.cs
     文件        5698  2015-11-25 13:14  Mina.NET\Mina.Example\Chat\Client\FormChat.resx
     文件         479  2015-11-25 13:14  Mina.NET\Mina.Example\Chat\Client\Program.cs
     目录           0  2015-11-25 13:14  Mina.NET\Mina.Example\Chat\Client\Properties\
     文件        1388  2015-11-25 13:14  Mina.NET\Mina.Example\Chat\Client\Properties\AssemblyInfo.cs
     目录           0  2015-11-25 13:14  Mina.NET\Mina.Example\Chat\Server\
     文件        3453  2015-11-25 13:14  Mina.NET\Mina.Example\Chat\Server\ChatProtocolHandler.cs
     文件        1121  2015-11-25 13:14  Mina.NET\Mina.Example\Chat\Server\Program.cs
     目录           0  2015-11-25 13:14  Mina.NET\Mina.Example\Chat\Server\Properties\
     文件        1388  2015-11-25 13:14  Mina.NET\Mina.Example\Chat\Server\Properties\AssemblyInfo.cs
     文件        2552  2015-11-25 13:14  Mina.NET\Mina.Example\Chat\Server\Server.NET20.csproj
............此处省略436个文件信息

评论

共有 条评论