基于Socket的文件传输(使用CSocket类)

本文介绍了一款使用MFC和CSocket类实现的文件传输软件,通过多线程、配置文件读取和面向对象设计,支持双向文件传输。详细描述了客户端和服务器端的功能实现,包括连接、发送、接收和配置文件操作。提供了部分关键代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

               

本软件使用MFC采用面向对象的方法实现了基于Socket的文件传输。这是原来研究生课程的结课作业,实现了Socket的发送和接收,以及读取ini配置文件等操作。使用了CSocket类

以下是当时结课作业 的正文:

 

一.软件特点如下:

 

1.      采用了多线程的方法,文件传输时使用AfxBeginThread()开启新线程

 

void CClientsockDlg::OnBnClickedSend()

{

   pThreadSend = AfxBeginThread(Thread_Send,this);/

 }

 

文件的发送和接收都开起了新线程

 

UINTThread_Send(LPVOID lpParam)

{

   代码略

}

 

2.      支持从配置文件configuration.ini中获取服务器参数

 

采用GetPrivateProfileString()GetPrivateProfileInt()分别获取位于ServerConfiguration.ini文件中的String类型的IPint类型的port

CString IP;

int port;

GetPrivateProfileString

(L"ServerConfiguration",L"IP",L"没有读取到数据!",IP.GetBuffer(10),10,L".\\configuration.ini");

port=GetPrivateProfileInt(L"ServerConfiguration",L"port",0,L".\\configuration.ini");

                                                                                                            

 

3.      采用了面向对象的设计方式,功能之间按模块划分

MFC本身具有良好的面向对象的特性,本程序严格按照MFC框架结构编写代码,每个按钮对应一个功能函数,降低了代码之间的耦合性,有利于程序的扩展和复用。

 

void CServersockDlg::OnBnClickedChoose()

void CServersockDlg::OnBnClickedSend()

void CServersockDlg::OnBnClickedRecvdata()

void CServersockDlg::OnBnClickedAbout()

void CServersockDlg::OnBnClickedWriteini()

 

 

4.      采用了CSocket类,代码相对更简单

CSocket类是MFC框架对socket编程中的winsockAPI的封装,因此通过这个类管理收发数据更加便利。代码也跟那个既简单易懂。

       &nbs

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值