在最简单的只有一个服务器和客户端的情况下,使用CSocket和CArchive,CSocketFile在两台机器上传递数据,我的问题是,客户端连接之后,如果向服务端发送数据,则出现一个错误弹出一个对话框,说对未命名文件访问,出现错误。代码如下。
服务端
CSocket sockserv;
CSocket sockRecv;
sockserv.Create ( 1120 );
sockserv.Listen ( );
//客户端LISTEN并且接收数据
sockserv.Accept ( sockRecv );
CSocketFile file( &sockRecv );
CArchive Crecv( &file, CArchive::load );
int hallo;
Crecv >> hallo;
sockRecv.Close ();
sockserv.Close ();
客户端代码
CSocket sockserv;
sockserv.Create ( 1119 );
char * clientip = "202.118.183.247";
sockserv.Connect ( clientip, 1120 );//服务端发送数据
CSocketFile file( &sockserv );
CArchive Csend ( &file, CArchive::store );
int hallo = 50;//1 means picture
Csend << hallo;
sockserv.Close ();
谢谢大家指教
服务端
CSocket sockserv;
CSocket sockRecv;
sockserv.Create ( 1120 );
sockserv.Listen ( );
//客户端LISTEN并且接收数据
sockserv.Accept ( sockRecv );
CSocketFile file( &sockRecv );
CArchive Crecv( &file, CArchive::load );
int hallo;
Crecv >> hallo;
sockRecv.Close ();
sockserv.Close ();
客户端代码
CSocket sockserv;
sockserv.Create ( 1119 );
char * clientip = "202.118.183.247";
sockserv.Connect ( clientip, 1120 );//服务端发送数据
CSocketFile file( &sockserv );
CArchive Csend ( &file, CArchive::store );
int hallo = 50;//1 means picture
Csend << hallo;
sockserv.Close ();
谢谢大家指教
Crecv.Flush(); //少了这段代码
Csend << hallo;
Csend.Flush();//少了这段代码
抛出的异常吗?