资源简介
代码片段和文件信息
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个文件信息
- 上一篇:C#获取U盘信息
- 下一篇:大文件复制(多线程)
相关资源
- Tcp/ip socket 服务器/客户端
- TCP/IP通讯 (附服务端以及客户端)
- udp通讯(需修改客户端链接服务端时
- 简单tcp 通讯网口工具客户端
- MODBUS通讯(TCP/Rtu)
- C# 使用 TcpClient,Socket 聊天
- tcp+udp完全c#通信封装
- Unity通过TCP接收服务端数据
- ODP.NET_Managed_ODAC122cR1
- Unity和C#实现TCP网络聊天
- C#实现TCP服务端
- Modbus RTU TCP主站从站类库内有说明文档
- NModbusAPI说明文档中文的
- 宏电DTU的DDP协议GPRS DSC中心源代码DE
- 基于TCP网络通信的即时聊天系统IM系统
- Aspose.Words.dll 和Aspose.Cells.dll,word、
- C#完整的通信代码(点对点点对多同步
- C#_UDP可靠文件传输
- 欧姆龙PLC网络通信程序
- C#在线聊天系统客户端+服务器
- C#写的UDP即时聊天程序
- TCP\\IP通信 C#
- C# 基于UDP即时聊天程序源代码
- c#实现QQ聊天程序(源代码)(分服务
- 自己用C#写的tcp_ip服务器
- modbus tcp/rtu 基于C#的源码实现(老外的
- C#UDP通信+文件传输 源码
- 基于TCP网络通信的即时聊天系统 数据
- TCP协议服务器/客户端框架
- C#网络编程TCP通信程序简单设计
评论
共有 条评论