Thread 与socket!!!!!不是高手别看哦!!!!
////////////////客户端///////////////////////////////////////
void CAcceptDlg::OnButton1()
{
// TODO: Add your control notification handler code here
AfxBeginThread((AFX_THREADPROC)AcceptFile,NULL);
}
UINT AcceptFile(LPVOID param)
{
CSocket socket;
socket.Create();
if(socket.Connect("127.0.0.1",9000))
{
CFile file("c:\\go.txt",CFile::modeCreate|CFile::modeWrite);
int n;
char buf[4096];
while((n=socket.Receive(buf,sizeof(buf)))>0)
file.Write(buf,n);
file.Close();
socket.Close();
AfxMessageBox("文件传输结束!");
}
else
socket.Close();
return 1;
}
///////////////////////////////////////////////////////////////////////
/////////////////////////服务器端/////////////////////////////////////
void CSendDlg::OnButton1()
{
// TODO: Add your control notification handler code here
AfxBeginThread((AFX_THREADPROC)FileThread,NULL);
}
UINT FileThread(LPVOID param)
{
CSocket Server;
CSocket fileSock;
CFile file("go.txt",CFile::modeRead);
Server.Create(9000);
Server.Bind(9000);
Server.Listen();
int n;
if(Server.Accept(fileSock))
{
char buf[4096];
while((n=file.Read(buf,4096))>0)
fileSock.Send(buf,n);
}
file.Close();
fileSock.Close();
Server.Close();
return 1;
}
/////////////////////////////////////////////////////////////////////
为什么??????????????????????????????????????
当本程序用debug版本的动态链接库,及release版本的动态链接库时,一切正常
但使用他们的静态链接时,则出现非法操作呢?
俺不理解,请各位大虾指教,求你了,OK?
为了表示我的诚意,我愿把本人的所有分数奉上!!!!!
本人EMAIL:luckboycjw@263.net,oicq:1308023