社区
网络编程
帖子详情
谁有VS MFC 做的客户端向服务器发送图片的例子
灵灵敲代码
2013-08-21 02:45:41
谁有VS2005 MFC 做的客户端向服务器发送图片的例子。我可以做到服务器向客户端发图片,就是不知道怎么从客户端向服务器发图片!!!
...全文
185
7
打赏
收藏
谁有VS MFC 做的客户端向服务器发送图片的例子
谁有VS2005 MFC 做的客户端向服务器发送图片的例子。我可以做到服务器向客户端发图片,就是不知道怎么从客户端向服务器发图片!!!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
灵灵敲代码
2013-08-22
打赏
举报
回复
谢谢啊,解决了,看来要好好学学SOCKET编程!!!
yaozhiyong110
2013-08-22
打赏
举报
回复
客户端: //创建Socket clientSocket=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); if(clientSocket==INVALID_SOCKET) { MessageBox(L"Falied",0,0); return -1; } SOCKADDR_IN serverAddr; serverAddr.sin_family=AF_INET; serverAddr.sin_addr.s_addr=inet_addr(IP_ADDR); serverAddr.sin_port=htons(PORT); memset(serverAddr.sin_zero,0,sizeof(serverAddr.sin_zero)); ret=connect(clientSocket,(struct sockaddr*)&serverAddr,sizeof(serverAddr)); if(ret==SOCKET_ERROR) { MessageBox(L"Connect Falied:",0,0); return -1; } ifstream in("F://psb.jpg",fstream::in|fstream::binary); char buf[1024]={0}; while(!in.eof()) { in.read(buf,sizeof(buf)); ret=send(clientSocket,buf,1024,0); if(ret==SOCKET_ERROR) { //cout<<"Send Into error: "<<GetLastError()<<endl; //return -1; in.close(); closesocket(clientSocket); break; } } in.close(); closesocket(clientSocket); closesocket(clientSocket); WSACleanup(); 服务器端: //创建Socket serverSocket=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); if (serverSocket==INVALID_SOCKET) { MessageBox(L"Create Socket Failed",0,0); } SOCKADDR_IN localAddr,clientAddr; localAddr.sin_family=AF_INET; localAddr.sin_addr.s_addr=inet_addr(IP_ADDR); localAddr.sin_port=htons(PORT); memset(localAddr.sin_zero,0,sizeof(localAddr.sin_zero)); ret=bind(serverSocket,(struct sockaddr*)&localAddr,sizeof(localAddr)); if (ret!=0) { MessageBox(L"Bind Error",0,0); } //服务器监听 ret=listen(serverSocket,10); if (ret!=0) { MessageBox(L"Listen Failed",0,0); } while(1) { //接收信息 int addLen=sizeof(clientAddr); clientSocket=accept(serverSocket,(struct sockaddr*)&clientAddr,&addLen); //cout<<"connect is success."<<endl; ofstream out("E://psb.jpg",fstream::out|fstream::binary); char buf[1024]={0}; while (1) { ret=recv(clientSocket,buf,1024,0); if(ret>0) { out.write(buf,sizeof(char)*ret); } else { out.close(); break; } } closesocket(clientSocket); } closesocket(serverSocket); WSACleanup();
灵灵敲代码
2013-08-22
打赏
举报
回复
下面是关键代码: 客户端: //创建Socket clientSocket=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); if(clientSocket==INVALID_SOCKET) { MessageBox(L"Falied",0,0); return -1; } SOCKADDR_IN serverAddr; serverAddr.sin_family=AF_INET; serverAddr.sin_addr.s_addr=inet_addr(IP_ADDR); serverAddr.sin_port=htons(PORT); memset(serverAddr.sin_zero,0,sizeof(serverAddr.sin_zero)); ret=connect(clientSocket,(struct sockaddr*)&serverAddr,sizeof(serverAddr)); if(ret==SOCKET_ERROR) { MessageBox(L"Connect Falied:",0,0); return -1; } ofstream out("E://psb.jpg",fstream::out|fstream::binary); char buf[1024]={0}; while (1) { ret=recv(clientSocket,buf,1024,0); if(ret>0) { out.write(buf,sizeof(char)*ret); } else { out.close(); break; } } closesocket(clientSocket); WSACleanup(); 服务器端: //创建Socket serverSocket=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); if (serverSocket==INVALID_SOCKET) { MessageBox(L"Create Socket Failed",0,0); } SOCKADDR_IN localAddr,clientAddr; localAddr.sin_family=AF_INET; localAddr.sin_addr.s_addr=inet_addr(IP_ADDR); localAddr.sin_port=htons(PORT); memset(localAddr.sin_zero,0,sizeof(localAddr.sin_zero)); ret=bind(serverSocket,(struct sockaddr*)&localAddr,sizeof(localAddr)); if (ret!=0) { MessageBox(L"Bind Error",0,0); } //服务器监听 ret=listen(serverSocket,10); if (ret!=0) { MessageBox(L"Listen Failed",0,0); } while(1) { //接收信息 int addLen=sizeof(clientAddr); clientSocket=accept(serverSocket,(struct sockaddr*)&clientAddr,&addLen); //cout<<"connect is success."<<endl; ifstream in("F://psb.jpg",fstream::in|fstream::binary); char buf[1024]={0}; while(!in.eof()) { in.read(buf,sizeof(buf)); ret=send(clientSocket,buf,1024,0); if(ret==SOCKET_ERROR) { //cout<<"Send Into error: "<<GetLastError()<<endl; //return -1; } } in.close(); closesocket(clientSocket); } closesocket(serverSocket); WSACleanup(); 你好,可以帮我看看吗?怎么改成客户端向服务器发图片?网络我不是很了解!!!
yaozhiyong110
2013-08-21
打赏
举报
回复
如果你现在是客户端一连上来服务器就给客户端发图片 那么你改下 客户端一连上服务器就给服务器发不就行了? 无法理解为什么改不了...
灵灵敲代码
2013-08-21
打赏
举报
回复
是这样的,我想通过一台主机(服务器),控制其他主机(客户机)发送图片过来。现在就是可以通过服务器给客户端发,刚好反了(一个客户端对应多个服务器了)。
smwhotjay
2013-08-21
打赏
举报
回复
没区别. 改个收发. 就ok
yaozhiyong110
2013-08-21
打赏
举报
回复
这有区别么?
MFC
例子
和Socket
客户端
服务器
例子
在IT领域,
MFC
(Microsoft Foundation Classes)是微软提供的一套C++库,用于构建Windows应用程序。
MFC
封装了Windows API,使得开发者可以更高效、更简洁地编写Win32程序。而Socket则是网络编程的基础,它允许不同...
一个服务器对多个
客户端
的
MFC
Socket编程示例(实现简单的即时通讯功能)
实现一个服务器对多个
客户端
的关键是,在服务端的使用集合CPtrList类用保存
客户端
的socket对象,思想与Java中的编程思想一样,只不过Java中会使用多线程技术,在Vector集合保存
客户端
的socket对象,而
MFC
框架提供了...
利用
mfc
实现的udp通信
例子
,包括,
客户端
服务器端
3. **发送数据**:在
客户端
,使用`SendTo()`函数向服务端指定的IP地址和端口发送数据。`SendTo()`需要提供待发送的数据缓冲区、长度以及目标地址信息。 4. **接收数据**:在服务端,使用`ReceiveFrom()`函数接收...
MFC
初学实例(
客户端
服务器消息接收)[汇编].pdf
这里,我们将创建一个"CWServerSocket"对象实例,用于监听特定的端口,一旦有
客户端
请求连接,"OnAccept"函数会被调用,然后我们就可以开始接收和发送数据。 总结来说,
MFC
提供了一套强大的框架,使得Windows应用...
VC基于
MFC
的套接字
客户端
+服务器程序
**VC++
MFC
套接字
客户端
与服务器程序详解** 在计算机网络编程中,套接字是实现进程间通信的关键机制,而Visual C++ (VC++) 集成了Microsoft Foundation Classes (
MFC
)库,提供了方便的接口来创建套接字应用。本教程...
网络编程
18,363
社区成员
64,187
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章