我的页面打不开了,所有帖子都打不开

GREEN_PINE 2003-01-13 03:28:11
小罗子 一级(初级) user1 100 1175485 小弟要使用SOCKET传输文件,想使用CSocketFile类,哪位哥哥教教我啊!!!! 81622 qyluo VC/MFC 网络编程 23 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),也就是说,你不能调用CSocketFile的Open函数来打开文件,那么也就无法进行文件的传输. 但是由于CSocketFile的Open函数是一个虚函数,你可以重载它,以实现自己的打开文件,读取,传输等问题. 所以原始的CSocketFile只能用来序列化数据到网络的另一方,而不能进行文件传输.要进行文件传输,比如从CSocketFile派生类,并重载其虚函数. 2002-12-8 15:54:23 地狱未空暂不成佛五级(中级)user51008696676134074277360infosail0蹭点分,渡自己成星 2003-01-09 09:42:00




打开都是这些东西,清cookie不管用
...全文
251 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jia521 2003-01-22
  • 打赏
  • 举报
回复
谢谢 眉头闹
jia521 2003-01-21
  • 打赏
  • 举报
回复
俺 问一下
如果噢想问问提 怎么发问??????
zhy97031 2003-01-21
  • 打赏
  • 举报
回复
小版块的帖子标题页面上方有个“提问”
zhy97031 2003-01-16
  • 打赏
  • 举报
回复
如果用代理服务器上网,请在服务器上执行上面操作

如果还是不行,可能的原因是你的IP对csdn的访问量过大,请隔20到30分钟后重试
zhy97031 2003-01-14
  • 打赏
  • 举报
回复
工具-》internet选项-》删除文件-》删除所有脱机内容
蝈蝈俊 2003-01-13
  • 打赏
  • 举报
回复
清缓存

603

社区成员

发帖
与我相关
我的任务
社区描述
客服专区
其他 技术论坛(原bbs)
社区管理员
  • 客服专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧