资源简介
基于C#的聊天软件的实现
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.Net.Sockets;
using QQClass;
using System.IO;
namespace MyQQClient
{
public partial class F_Chat : Form
{
public UDPSocket udpsocket;
public ClassForms FormList;
public bool Voiding;
public bool SendViod;
cVideo video;
public F_Chat()
{
InitializeComponent();
}
private void button_Send_Click(object sender EventArgs e)
{
IPAddress ip = IPAddress.Parse(Publec_Class.ServerIP);//服务器端的IP地址
string port = Publec_Class.ServerPort;//端口号
string revid = ((this.Tag as TreeNode).Tag as ClassUserInfo).UserID;//接收ID号
string sid = Publec_Class.UserID;//发送ID
string msgid = Guid.NewGuid().ToString();//设置全局惟一标识
byte[] data = Encoding.Unicode.GetBytes(rich_Input.Rtf);//将当前要发送的信息转换成二进制流
ClassMsg msg = new ClassMsg();
msg.sendKind = SendKind.SendMsg;//发送的消息
msg.msgCommand = MsgCommand.SendToOne;//发送的是单用户信息
msg.SID = sid;//发送ID
msg.RID = revid;//接收ID
msg.Data = data;//发送的信息
msg.msgID = msgid;
if (data.Length <= 1024)//如果发送信息的长度小于等于1024
{
msg.sendState = SendState.Single;
//将信息直接发送给远程客户端
udpsocket.Send(ip Convert.ToInt32(port) new ClassSerializers().SerializeBinary(msg).ToArray());
}
else
{
ClassMsg start = new ClassMsg();
start.sendKind = SendKind.SendMsg;
start.sendState = SendState.Start;//文件发送开始命令
start.msgCommand = MsgCommand.SendToOne;//发送单用户命令
start.SID = sid;
start.RID = revid;
start.Data = Encoding.Unicode.GetBytes(““);
start.msgID = msgid;
udpsocket.Send(ip Convert.ToInt32(port) new ClassSerializers().SerializeBinary(start).ToArray());
MemoryStream stream = new MemoryStream(data);//将二进制流存储到内存流中
int sendlen = 1024; //设置文件每块发送的长度
long sunlen = (stream.Length);//整个文件的大小
int offset = 0;//设置文件发送的起始位置
while (sunlen > 0) //分流发送
{
sendlen = 1024;
if (sunlen <= sendlen)
sendlen = Convert.ToInt32(sunlen);
byte[] msgdata = new byte[sendlen];
stream.Read(msgdata offset sendlen);//读取要发送的字节块
msg.sendState = SendState.Sending;//发送状态为文件发送中
msg.Data = msgdata;
udpsocket.Send(ip Convert.ToInt32(port) new ClassSerializers().Ser
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2016-10-16 15:09 蓝精灵聊天系统\
目录 0 2016-10-16 15:09 蓝精灵聊天系统\Smurf\
目录 0 2016-10-16 15:08 蓝精灵聊天系统\Smurf\Databa
文件 1048576 2011-03-30 14:58 蓝精灵聊天系统\Smurf\Databa
文件 1048576 2011-03-30 14:58 蓝精灵聊天系统\Smurf\Databa
文件 1879 2011-01-17 13:43 蓝精灵聊天系统\Smurf\MyQQ.sln
文件 58880 2011-03-30 11:21 蓝精灵聊天系统\Smurf\MyQQ.suo
目录 0 2016-10-16 15:08 蓝精灵聊天系统\Smurf\MyQQClient\
文件 13149 2011-02-14 14:51 蓝精灵聊天系统\Smurf\MyQQClient\F_Chat.cs
文件 29065 2009-04-27 14:51 蓝精灵聊天系统\Smurf\MyQQClient\F_Chat.designer.cs
文件 298304 2009-04-27 14:51 蓝精灵聊天系统\Smurf\MyQQClient\F_Chat.resx
文件 18592 2011-03-29 16:22 蓝精灵聊天系统\Smurf\MyQQClient\F_Client.cs
文件 7332 2011-03-29 16:22 蓝精灵聊天系统\Smurf\MyQQClient\F_Client.designer.cs
文件 84009 2011-03-29 16:22 蓝精灵聊天系统\Smurf\MyQQClient\F_Client.resx
文件 5882 2009-04-27 10:32 蓝精灵聊天系统\Smurf\MyQQClient\F_Logon.cs
文件 7333 2009-04-27 10:32 蓝精灵聊天系统\Smurf\MyQQClient\F_Logon.designer.cs
文件 84647 2009-04-27 10:32 蓝精灵聊天系统\Smurf\MyQQClient\F_Logon.resx
文件 3723 2009-04-24 11:40 蓝精灵聊天系统\Smurf\MyQQClient\F_SerSetup.cs
文件 9833 2009-04-24 11:40 蓝精灵聊天系统\Smurf\MyQQClient\F_SerSetup.designer.cs
文件 6012 2009-04-24 11:40 蓝精灵聊天系统\Smurf\MyQQClient\F_SerSetup.resx
目录 0 2016-10-16 15:08 蓝精灵聊天系统\Smurf\MyQQClient\Image\
文件 1864 2009-04-24 10:44 蓝精灵聊天系统\Smurf\MyQQClient\Image\0.bmp
文件 2408 2009-04-24 10:45 蓝精灵聊天系统\Smurf\MyQQClient\Image\1.bmp
文件 34686 2009-04-24 16:12 蓝精灵聊天系统\Smurf\MyQQClient\Image\QQ08.jpg
文件 30369 2009-04-24 16:08 蓝精灵聊天系统\Smurf\MyQQClient\Image\QQ12.jpg
文件 46786 2009-04-24 10:45 蓝精灵聊天系统\Smurf\MyQQClient\Image\QQ窗体_03.jpg
文件 19080 2009-04-24 10:30 蓝精灵聊天系统\Smurf\MyQQClient\Image\my-QQ_03.jpg
文件 15109 2009-04-24 10:31 蓝精灵聊天系统\Smurf\MyQQClient\Image\my-QQ_05.jpg
文件 16679 2009-04-24 16:14 蓝精灵聊天系统\Smurf\MyQQClient\Image\my-QQ_07.jpg
文件 15569 2009-04-24 16:15 蓝精灵聊天系统\Smurf\MyQQClient\Image\my-QQ_09.jpg
文件 13520 2009-04-24 10:41 蓝精灵聊天系统\Smurf\MyQQClient\Image\my-QQ_10.jpg
............此处省略93个文件信息
- 上一篇:c#做的简单通讯录
- 下一篇:基于Laura.Compute的C#科学计算器
相关资源
- 基于Laura.Compute的C#科学计算器
- c#做的简单通讯录
- C#实现的一个简单的财务管理系统
- 简单进销存源码书籍)
- C#开发的超市POS管理系统源码
- C#订单管理系统
- C#&APP;.NET微信APP支付服务端
- C#单片机温度监控系统源码 画曲线图
- winform人事管理系统
- C# 高级编程 VSTO
- Applications = Code + Markup (英文版)
- C# 图像处理 源代码 均值滤波 中值滤
- 图书馆管理系统ASP.net C#+sql数据库
- C#交互式绘图代码
- c#编写的设备管理系统
- NPOI操作C# ExcelToDataTable DataTableToExce
- C#组件编程
- C#实现的2048游戏_源码
- C#网络编程TCP通信程序简单设计
- C# 封装强大浏览器组件csExWBv2.0.0.2
- C#通讯调试工具v3.0源码20130827.zip
- 消消乐C#源码
- C#图片加文字水印和图片水印源码DE
- 基于C#的用户自定义问卷调查系统.z
- C#调用adb传输和推送数据到安卓设备上
- C1report子报表C#实现
- C#与数据库连接的管理系统包含源码,
- 编程在测绘中的应用之不规则三角网
- C#实现五子棋人机及局域网
- C#相册管理
评论
共有 条评论