或者从客户端可以传文件到服务器端不?
其实只要在两台主机间建立了连接就要以互发数据了,不管是谁连接到谁
我以前写的点对点传送文件的软件就这样实现的,现在改一下,更易看懂,希望对你有所帮助!
服务器
AfxSocketInit(NULL);
CSocket sockListen,sockSend;
sockListen.Create(6666,SOCK_STREAM,_T("192.168.1.66"));
sockListen.Bind(6666,_T("192.168.1.66"));
sockListen.Listen(10);
sockListen.Accept(sockSend);
UINT myFileLength=1234567; //要传送的数据
UINT receFileLength=0; //保存客户端传来的数据
//////////////////////////////////////////////////////////////////////////
//发送数据到客户端
sockSend.Send(&myFileLength,sizeof(myFileLength));
Sleep(10);
//////////////////////////////////////////////////////////////////////////
//接收客户端传来的数据
sockSend.Receive(&receFileLength,sizeof(receFileLength));
//////////////////////////////////////////////////////////////////////////
//客户端
AfxSocketInit(NULL);
CSocket sockRece;
sockRece.Create();
sockRece.Connect(_T("192.168.1.66"),6666);
//////////////////////////////////////////////////////////////////////////
UINT fileLength=0; //接收服务器传来的数据
UINT localFileLength=7654321; //发送给服务器的数据
//////////////////////////////////////////////////////////////////////////
//接收服务器发来的数据
sockRece.Receive(&fileLength,sizeof(fileLength));
//发送数据到服务器
sockRece.Send(&localFileLength,sizeof(localFileLength));
Sleep(10);