资源简介
基于RSA加密的聊天程序,程序既是客户端又是服务器,指定IP后,选择接受即可进行通信。同时显示发送密文、接收到的密文、密文解析后的聊天记录,密钥文件可重新生成,还具有文件传输功能。压缩包内包含全部工程文件,用VS2008可直接运行。已进行过单机试验和局域网内两机试验,没有错误。
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.Net.Sockets;
using System.Windows.Forms;
namespace SocketsTest
{
public class TransferFiles
{
//public TransferFiles()
//{
// //
// // TODO: 在此处添加构造函数逻辑
// //
//}
public static int SendData(Socket s byte[] data)
{
int total = 0;
int size = data.Length;
int dataleft = size;
int sent;
while (total < size)
{
sent = s.Send(data total dataleft SocketFlags.None);
total += sent;
dataleft -= sent;
}
return total;
}
public static byte[] ReceiveData(Socket s int size)
{
int total = 0;
int dataleft = size;
byte[] data = new byte[size];
int recv;
while (total < size)
{
recv = s.Receive(data total dataleft SocketFlags.None);
if (recv == 0)
{
data = null;
break;
}
total += recv;
dataleft -= recv;
}
return data;
}
public static int SendVarData(Socket s byte[] data)
{
int total = 0;
int size = data.Length;
int dataleft = size;
int sent;
byte[] datasize = new byte[4];
datasize = BitConverter.GetBytes(size);
sent = s.Send(datasize);
while (total < size)
{
sent = s.Send(data total dataleft SocketFlags.None);
total += sent;
dataleft -= sent;
}
return total;
}
public static byte[] ReceiveVarData(Socket s)
{
int total = 0;
int recv;
byte[] datasize = new byte[4];
recv = s.Receive(datasize 0 4 SocketFlags.None);
int size = BitConverter.ToInt32(datasize 0);
int dataleft = size;
byte[] data = new byte[size];
while (total < size)
{
recv = s.Receive(data total dataleft SocketFlags.None);
if (recv == 0)
{
data = null;
break;
}
total += recv;
dataleft -= recv;
}
return data;
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 516096 2006-08-18 11:50 SocketsTest\SocketsTest\bin\Debug\IrisSkin2.dll
文件 15156 2006-03-22 05:55 SocketsTest\SocketsTest\bin\Debug\MacOS.ssk
文件 16292 2006-03-22 05:55 SocketsTest\SocketsTest\bin\Debug\MSN.ssk
文件 917 2014-01-12 20:09 SocketsTest\SocketsTest\bin\Debug\PrivateKey.xm
文件 245 2014-01-12 20:09 SocketsTest\SocketsTest\bin\Debug\PublicKey.xm
文件 24064 2014-01-12 22:40 SocketsTest\SocketsTest\bin\Debug\SocketsTest.exe
文件 50688 2014-01-12 22:40 SocketsTest\SocketsTest\bin\Debug\SocketsTest.pdb
文件 11592 2014-01-12 22:39 SocketsTest\SocketsTest\bin\Debug\SocketsTest.vshost.exe
文件 490 2007-07-21 01:33 SocketsTest\SocketsTest\bin\Debug\SocketsTest.vshost.exe.manifest
文件 15928 2006-07-18 23:12 SocketsTest\SocketsTest\bin\Debug\Vista2_color7.ssk
文件 2971 2014-01-12 18:53 SocketsTest\SocketsTest\FileClientSocket.cs
文件 9859 2014-01-12 20:36 SocketsTest\SocketsTest\Form1.cs
文件 13336 2014-01-12 18:42 SocketsTest\SocketsTest\Form1.Designer.cs
文件 6387 2014-01-12 18:42 SocketsTest\SocketsTest\Form1.resx
文件 4993 2014-01-12 22:39 SocketsTest\SocketsTest\Form2.cs
文件 3378 2014-01-12 18:49 SocketsTest\SocketsTest\Form2.Designer.cs
文件 5814 2014-01-12 18:49 SocketsTest\SocketsTest\Form2.resx
文件 5944 2014-01-12 19:48 SocketsTest\SocketsTest\Form3.cs
文件 12745 2014-01-12 19:31 SocketsTest\SocketsTest\Form3.Designer.cs
文件 5814 2014-01-12 19:31 SocketsTest\SocketsTest\Form3.resx
文件 1620 2014-01-12 22:40 SocketsTest\SocketsTest\obj\Debug\SocketsTest.csproj.FileListAbsolute.txt
文件 963 2014-01-12 22:40 SocketsTest\SocketsTest\obj\Debug\SocketsTest.csproj.GenerateResource.Cache
文件 24064 2014-01-12 22:40 SocketsTest\SocketsTest\obj\Debug\SocketsTest.exe
文件 180 2014-01-12 22:40 SocketsTest\SocketsTest\obj\Debug\SocketsTest.Form1.resources
文件 180 2014-01-12 22:40 SocketsTest\SocketsTest\obj\Debug\SocketsTest.Form2.resources
文件 180 2014-01-12 22:40 SocketsTest\SocketsTest\obj\Debug\SocketsTest.Form3.resources
文件 50688 2014-01-12 22:40 SocketsTest\SocketsTest\obj\Debug\SocketsTest.pdb
文件 180 2014-01-12 22:40 SocketsTest\SocketsTest\obj\Debug\SocketsTest.Properties.Resources.resources
文件 492 2009-12-21 19:04 SocketsTest\SocketsTest\Program.cs
文件 1354 2009-12-21 19:04 SocketsTest\SocketsTest\Properties\AssemblyInfo.cs
............此处省略19个文件信息
- 上一篇:unity模型贴图滚动脚本
- 下一篇:C#卡尔曼滤波,chart绘图及时间转换
相关资源
- C#卡尔曼滤波,chart绘图及时间转换
- 基于C# 实验室设备管理系统
- c#实现FTP服务器
- C# 词频统计
- 三层架构——通讯录
- C#中英文切换,实现菜单,工具栏,按
- 基于c#的新闻发布系统源码带数据库
- 基于c#编写的五子棋小游戏
- c# winform 多线程测试(初学)
- C#chart控件游标跟随鼠标移动
- c#仿Windows任务管理器
- EmguCV完美播放文件夹和摄像头视频
- c#网页浏览器
- C#从Excel中提取数据到DataGridView中显示
- c#实现HidUsb设备通信
- C#程序基于Moravec算子提取特征点详细
- C#9种预测处理算法
- 火车票售票系统C#源代码
- c#课程设计204492
- C#恶搞版评委打分系统
- C#代码生成器源码
- 实测 C# USB口 打印机和开钱箱
- C#连接DB2远程数据库
- C#串口调试助手,收发数据保存在MY
- 医院管理系统C#版完全版
- C# .net 单点登录
- C# 编写的 蓝牙GPS定位软件 可通过蓝牙
- C#用户权限 不同的用户登录进来有不
- C#版本的网络调试助手源码
- 远程唤醒 wake on lanc#
评论
共有 条评论