资源简介
C# tcp 多线程聊天室 C# tcp 多线程聊天室C# tcp 多线程聊天室C# tcp 多线程聊天室C# tcp 多线程聊天室C# tcp 多线程聊天室
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
using System.Net.Sockets;
using System.IO;
using FeiMsgType;
namespace Fei
{
///
/// 和客户端连接的通道类(内含Socket及ClientUser)
///
class ClientConnection
{
#region 连接通道所属用户信息 - User
ClientUser user = null;
///
/// 连接通道所属用户信息
///
public ClientUser User
{
get { return user; }
set { user = value; }
}
#endregion
Thread threadClient = null;
Socket socket = null;
string strEndpoint;
FrmMain frmMain = null;
///
/// 是否退出-true退出/false运行
///
bool doesClose = false;
#region 构造函数
public ClientConnection(FrmMain frmMain Socket socket)
{
InitConnection(frmMain socket);
}
public ClientConnection(FrmMain frmMain Socket socket ClientUser user)
{
InitConnection(frmMain socket);
this.user = user;
}
#endregion
#region 初始化连接 - InitConnection(FrmMain frmMain Socket socket)
///
/// 初始化连接
///
/// 窗体
/// 连接套接字
public void InitConnection(FrmMain frmMain Socket socket)
{
if (null == frmMain || null == socket) throw new UnPrepareConnectionException();//如果参数不足则抛出自定义异常
this.frmMain = frmMain;
this.socket = socket;
this.strEndpoint = socket.RemoteEndPoint.ToString();
threadClient = new Thread(WatchMsg);
threadClient.IsBackground = true;
threadClient.Start();
}
#endregion
#region -监听客户端消息 - WatchMsg()
private void WatchMsg()
{
string strMsgRec = string.Empty;
while (!doesClose)
{
try
{
byte[] byteMsgRec = new byte[1024 * 1024 * 4];
int length = socket.Receive(byteMsgRec byteMsgRec.Length SocketFlags.None);
if (length > 0)
{
strMsgRec = Encoding.UTF8.GetString(byteMsgRec 1 length - 1);//获取标志符后的消息字符串
if (byteMsgRec[0] == (byte)MsgType.UserMsg)//用户消息
{
MsgInfo msgInfo = new MsgInfo(strMsgRec);
if (msgInfo.UId != string.Empty)//有效消息
{
if (msgInfo.ToUid != string.Empty && msgInfo.IsPrivate)//如果接收人不为空而且是私聊信息
{
frmMain.SendMsgUserToSingle(msgInfo.ToUid msgInfo.ToTransString() MsgType.UserMsg);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1890 2011-04-12 10:18 ChatRoom.sln
..A..H. 41472 2011-04-14 14:20 ChatRoom.suo
文件 40960 2011-04-14 13:54 Fei\bin\Debug\Fei.exe
文件 58880 2011-04-14 13:54 Fei\bin\Debug\Fei.pdb
文件 5632 2005-11-11 22:25 Fei\bin\Debug\Fei.vshost.exe
文件 20480 2011-04-12 10:18 Fei\bin\Debug\FeiMsgType.dll
文件 32256 2011-04-12 10:18 Fei\bin\Debug\FeiMsgType.pdb
文件 11028 2011-04-10 19:45 Fei\ClientConnection.cs
文件 3547 2011-04-10 19:39 Fei\Fei.csproj
文件 18760 2011-04-12 10:36 Fei\FrmMain.cs
文件 31576 2011-04-11 08:24 Fei\FrmMain.Designer.cs
文件 5814 2011-04-11 08:24 Fei\FrmMain.resx
文件 844 2011-04-12 10:18 Fei\obj\Debug\Fei.csproj.GenerateResource.Cache
文件 40960 2011-04-14 13:54 Fei\obj\Debug\Fei.exe
文件 180 2011-04-12 10:18 Fei\obj\Debug\Fei.FrmMain.resources
文件 58880 2011-04-14 13:54 Fei\obj\Debug\Fei.pdb
文件 180 2011-04-12 10:18 Fei\obj\Debug\Fei.Properties.Resources.resources
文件 2570 2011-04-12 10:18 Fei\obj\Debug\ResolveAssemblyReference.cache
文件 1548 2011-04-14 14:15 Fei\obj\Fei.csproj.FileListAbsolute.txt
文件 464 2011-04-02 18:13 Fei\Program.cs
文件 1166 2011-04-02 18:03 Fei\Properties\AssemblyInfo.cs
文件 2862 2011-04-02 18:03 Fei\Properties\Resources.Designer.cs
文件 5612 2011-04-02 18:03 Fei\Properties\Resources.resx
文件 1088 2011-04-02 18:03 Fei\Properties\Settings.Designer.cs
文件 249 2011-04-02 18:03 Fei\Properties\Settings.settings
文件 422 2011-04-07 23:22 Fei\UnPrepareConnectionException.cs
文件 20480 2011-04-12 10:18 FeiMsgType\bin\Debug\FeiMsgType.dll
文件 32256 2011-04-12 10:18 FeiMsgType\bin\Debug\FeiMsgType.pdb
文件 3777 2011-04-10 20:13 FeiMsgType\ClientUser.cs
文件 2240 2011-04-10 20:06 FeiMsgType\FeiMsgType.csproj
............此处省略68个文件信息
- 上一篇:C# 城市公交查询系统
- 下一篇:C#做的QQ仿QQ
相关资源
- C# IP地址输入控件
- C#在一个窗口刷新更改另一个窗口控件
- C# TIP文件生成和拆解
- C#解析HL7消息的库135797
- C# OCR数字识别实例,采用TessnetOcr,对
- 考试管理系统 - C#源码
- asp.net C#购物车源代码
- C#实时网络流量监听源码
- C#百度地图源码
- Visual C#.2010从入门到精通配套源程序
- C# 软件版本更新
- C#屏幕软键盘源码,可以自己定制界面
- 智慧城市 智能家居 C# 源代码
- c#获取mobile手机的IMEI和IMSI
- C#实现简单QQ聊天程序
- 操作系统 模拟的 欢迎下载 C#版
- C#写的计算机性能监控程序
- 用C#实现邮件发送,有点类似于outlo
- MVC model层代码生成器 C#
- c#小型图书销售系统
- C# Socket Server Client 通讯应用 完整的服
- c# winform 自动登录 百度账户 源代码
- C#编写的16进制计算器
- C#TCP通信协议
- C# 数据表(Dataset)操作 合并 查询一
- C#语音识别系统speechsdk51,SpeechSDK51L
- 数据库备份还原工具1.0 C# 源码
-
[免费]xm
lDocument 节点遍历C# - EQ2008LEDc#开发实例
- DirectX.Capturec# winform 操作摄像头录像附
评论
共有 条评论