无法正常显示XML
我打开所有的CSDN的问题都是下列显示。是不是我的IE对XML支持不好,谁帮我啊?
///////////////////////////////////////
小罗子 一级(初级) user1 100 1175485 小弟要使用SOCKET传输文件,想使用CSocketFile类,哪位哥哥教教我啊!!!! 81622 qyluo VC/MFC 网络编程 26 2002-11-14 11:04:45 100 0 5004 0 使用SOCKET传输文件,不知道如何使用CSocketFile类,哪位哥哥教教我啊!!!! 小罗子 一级(初级) user1 100 7561357 1175485 81622 qyluo 0 顶!!!!!!!!!!!!!!!!顶!!!!!!!!!!!!!!!顶!!!!!!!!!!!!!! 2002-11-14 11:22:39 小罗子 一级(初级) user1 100 7561870 1175485 81622 qyluo 0 ??????????? 2002-11-14 11:48:29 白蓝鸽 三级(初级) user3 100 7561969 1175485 91547 depuw 0 文件传送,得考虑分开传,每一个部分都用一个表头。 bailange.8u8.com里有一个关于用CSocketFile传送消息的例子,看看或许对你有帮助! 2002-11-14 11:53:07 小罗子 一级(初级) user1 100 7562092 1175485 81622 qyluo 0 谢谢!! 2002-11-14 11:58:16 白蓝鸽 三级(初级) user3 100 7562161 1175485 91547 depuw 0 http://bailange.8u8.com/example/chat.rar 2002-11-14 12:00:51 白蓝鸽 三级(初级) user3 100 7562178 1175485 91547 depuw 0 那是以前写的,代码比较乱,不太好意思! 2002-11-14 12:01:39 2B 一级(初级) user1 100 7564329 1175485 45129 sunhuiNO1 0 呵呵,直接用API写也很简单 2002-11-14 13:18:31 不肯冷却的芯 五级(中级) user5 100 7565585 1175485 292340 Hanzo 0 [server] ¦ [client] CSocket sockServ; ¦ CSocket sockClient; ¦ ¦ ¦ //创建socket ¦ sockClient.Create(); sockServ.Create(nPort); ¦ ¦ ¦ ¦ sockClient.Connect(strAddr,nPort) sockServ.Listen(); ¦ ¦ ¦ ¦ CSocketFile file(&sockClient); CSocket sockRecv; ¦ ¦ sockServ.Accept(sockRecv); ¦ CArchive arIn(&file,CArchive::load); ¦ ¦ CArchive arOut(&file,Archive::store); CSocketFile file(&sockRecv); ¦ ¦ ¦ ¦ arIn>>dwValue; CArchive arIn(&file,CArchive::load); arOut<<dwValue; CArchive arOut(&file, CArchive::store); ¦ ¦ ¦ sockCilent.Close(); arIn>>dwValue; //接收 ¦ arOut<<dwValue; //发送 ¦ ¦ ¦ sockRecv.Close(); //结束 ¦ sockServ.Close(); ¦ 2002-11-14 14:01:39 小罗子 一级(初级) user1 100 7565674 1175485 81622 qyluo 0 Hanzo:谢谢你啦!!那个dwValue的定义在哪儿啊!??? 2002-11-14 14:05:48 小罗子 一级(初级) user1 100 7565767 1175485 81622 qyluo 0 你的代码直接就可以用吗!? 2002-11-14 14:09:35 不肯冷却的芯 五级(中级) user5 100 7565941 1175485 292340 Hanzo 0 DWORD dwvalue; <<操作于可以用任何类型; 2002-11-14 14:16:20 小罗子 一级(初级) user1 100 7566059 1175485 81622 qyluo 0 是不是需要先把数据从文件读到dwValue,这块的代码怎么写啊!? 2002-11-14 14:21:49 wj59 五级(中级) user5 100 7569809 1175485 57136 wj59 0 up 2002-11-14 16:37:54 不肯冷却的芯 五级(中级) user5 100 7572813 1175485 292340 Hanzo 0 首先,你要通过网络传什么. 比如传char a='b'可以a>>arIn; //传整数 int i=10922; i>>arIn; //传BUFFER char arr[128]; for(int i=0; i<128;i++) arr[i]>>arIn; 2002-11-14 18:34:19 晒太阳 一级(初级) user1 100 7576265 1175485 364689 lijie1981 0 分两部分来传,先把文件的属性传过去.再把文件头传过去. 2002-11-14 21:58:19 小罗子 一级(初级) user1 100 7631120 1175485 81622 qyluo 0 谢谢各位,有没有写的好点的代码来借鉴一下啊!!!!! 2002-11-18 14:32:43 一级(初级) user1 100 7634608 1175485 267882 zhouzcy 0 详细资料请参阅http://bbs.glorisoft.com/ubb/Forum2/HTML/000206.html 下面给出服务器端代码:void SendFile() { #define PORT 34000 /// Select any free port you wish AfxSocketInit(NULL); CSocket sockSrvr; sockSrvr.Create(PORT); // Creates our server socket sockSrvr.Listen(); // Start listening for the client at PORT CSocket sockRecv; sockSrvr.Accept(sockRecv); // Use another CSocket to accept the connection CFile myFile; myFile.Open("C:\\ANYFILE.EXE", CFile::modeRead ¦ CFile::typeBinary); int myFileLength = myFile.GetLength(); // Going to send the correct File Size sockRecv.Send(&myFileLength, 4); // 4 bytes long byte* data = new byte[myFileLength]; myFile.Read(data, myFileLength); sockRecv.Send(data, myFileLength); //Send the whole thing now myFile.Close(); delete data; sockRecv.Close(); } 以下是客户端代码 void GetFile() { #define PORT 34000 /// Select any free port you wish AfxSocketInit(NULL); CSocket sockClient; sockClient.Create(); // "127.0.0.1" is the IP to your server, same port sockClient.Connect("127.0.0.1", PORT); int dataLength; sockClient.Receive(&dataLength, 4); //Now we get the File Size first byte* data = new byte[dataLength]; sockClient.Receive(data, dataLength); //Get the whole thing CFile destFile("C:\\temp\\ANYFILE.EXE", CFile::modeCreate ¦ CFile::modeWrite ¦ CFile::typeBinary); destFile.Write(data, dataLength); // Write it destFile.Close(); delete data; sockClient.Close(); } 2002-11-18 16:52:01
托尼 二级(初级) user2 100 7634779 1175485 321815 tony1130 0 上面的程序代码没有考虑到文件的大小问题,当传一个很大的文件时(如几十M,上百M),这种代码会出错,所以一定要自己分割打包以后,再传送 2002-11-18 16:58:37 渴望自由自在地写程序 二级(初级) user2 100 7976463 1175485 375162 HongHuer 0 各位朋友们: 文件要不要分什么格式呢? 比如是 .txt .cpp .mp3 .mpg .jpg 都可以象楼上的朋友的程序那样发送吗? 2002-12-7 8:44:32 冷的时候我想死 四级(中级) user4 100 7978941 1175485 33479 kenryHuang 0 同意 tony1130(托尼) 上面zhouzcy() 的代码只能发送小文件上几M的文件都不行,我这里试过。 2002-12-7 14:01:20 兰企鹅 ¦ ¦南极俺最帅 三级(初级) user3 100 7979018 1175485 265041 RomanticProgrammer 0 学习. 2002-12-7 14:05:16 Red-Sun 一级(初级) user1 100 7991199 1175485 304694 GirlCool 0 CSocketFile通常是用来进行序列化,比如你有多个数据,包括结构体数据,想要发送到对方,如果研究CSocketFile的MFC源代码,你会发现,CSocketFile虽然从CFile派生,但CSocketFile::Open()等函数里只有一个ASSERT(FALSE .............