资源简介
根据企业对QQ系统的要求,本系统可以实现以下目标:
操作简单方便、界面简洁美观。
每个客户端只能注册一次。
可以在局域网中实现文字及大图片的传输。
可以实现局域网视频。
可以实现多用户的信息通信。
系统运行稳定、安全可靠。
操作注意事项
(1)在一台计算机中,不可以登录两个或两个以上的用户。
(2)在进行视频前,客户端和远程客户端必须打开通信窗口。
(3)在发送大图片的时候,传送的速度较慢。
(4)当用户第一次运行客户端程序时,将会弹出注册窗口进行注册,用户注册后,再次运行客户端程序时,将直接进行登录,无须注册。
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
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 viodeo;
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().SerializeBinary(msg).T
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1498 2007-12-04 21:02 MyQQ\MyQQClient\MyQQClient\0.bmp
文件 1498 2007-12-05 14:02 MyQQ\MyQQClient\MyQQClient\1.bmp
文件 181248 2010-08-11 13:42 MyQQ\MyQQClient\MyQQClient\bin\Debug\MyQQClient.exe
文件 71168 2010-08-11 13:42 MyQQ\MyQQClient\MyQQClient\bin\Debug\MyQQClient.pdb
文件 5632 2005-12-08 14:51 MyQQ\MyQQClient\MyQQClient\bin\Debug\MyQQClient.vshost.exe
文件 13824 2010-08-11 09:19 MyQQ\MyQQClient\MyQQClient\bin\Debug\QQClass.dll
文件 44544 2010-08-11 09:19 MyQQ\MyQQClient\MyQQClient\bin\Debug\QQClass.pdb
文件 13198 2007-12-17 14:14 MyQQ\MyQQClient\MyQQClient\F_Chat.cs
文件 28506 2007-12-17 14:14 MyQQ\MyQQClient\MyQQClient\F_Chat.Designer.cs
文件 111156 2007-12-17 14:14 MyQQ\MyQQClient\MyQQClient\F_Chat.resx
文件 18485 2007-12-10 15:58 MyQQ\MyQQClient\MyQQClient\F_Client.cs
文件 6727 2007-12-10 15:58 MyQQ\MyQQClient\MyQQClient\F_Client.Designer.cs
文件 66553 2007-12-10 15:58 MyQQ\MyQQClient\MyQQClient\F_Client.resx
文件 5441 2007-12-15 15:24 MyQQ\MyQQClient\MyQQClient\F_Logon.cs
文件 6970 2007-12-11 08:39 MyQQ\MyQQClient\MyQQClient\F_Logon.Designer.cs
文件 49297 2007-12-11 08:39 MyQQ\MyQQClient\MyQQClient\F_Logon.resx
文件 3717 2007-12-17 09:04 MyQQ\MyQQClient\MyQQClient\F_SerSetup.cs
文件 9839 2007-12-17 09:04 MyQQ\MyQQClient\MyQQClient\F_SerSetup.Designer.cs
文件 6012 2007-12-17 09:04 MyQQ\MyQQClient\MyQQClient\F_SerSetup.resx
文件 824 2007-12-10 15:21 MyQQ\MyQQClient\MyQQClient\Image\0.bmp
文件 824 2007-12-10 15:21 MyQQ\MyQQClient\MyQQClient\Image\1.bmp
文件 14724 2007-12-11 00:09 MyQQ\MyQQClient\MyQQClient\Image\center.jpg
文件 824 2007-12-10 15:21 MyQQ\MyQQClient\MyQQClient\Image\images\man.bmp
文件 824 2007-12-10 15:21 MyQQ\MyQQClient\MyQQClient\Image\images\man1.bmp
文件 6184 2007-12-10 15:12 MyQQ\MyQQClient\MyQQClient\Image\images\my-QQ_03.jpg
文件 2235 2007-12-10 15:12 MyQQ\MyQQClient\MyQQClient\Image\images\my-QQ_05.jpg
文件 3864 2007-12-10 15:12 MyQQ\MyQQClient\MyQQClient\Image\images\my-QQ_07.jpg
文件 13176 2007-12-10 15:12 MyQQ\MyQQClient\MyQQClient\Image\images\my-QQ_08.jpg
文件 2774 2007-12-10 15:12 MyQQ\MyQQClient\MyQQClient\Image\images\my-QQ_09.jpg
文件 902 2007-12-10 15:12 MyQQ\MyQQClient\MyQQClient\Image\images\my-QQ_10.jpg
............此处省略129个文件信息
- 上一篇:C#版人机对弈五子棋
- 下一篇:C# 内存处理器、网络上行与下行实时监视器,进程管理
评论
共有 条评论