用c++,UDP的客户端服务器通信程序,客户端将一个文件发给服务器,服务器收到并储存 50

客户端与服务器通信我大致知道怎么弄,可是我想从客户端将一个文件中结构体的数据发送到服务器,服务器收取并保存到另外一个文件当中,这应该设计C++中的文件读写,该怎么弄?谢谢... 客户端与服务器通信我大致知道怎么弄,可是我想从客户端将一个文件中结构体的数据发送到服务器,服务器收取并保存到另外一个文件当中,这应该设计C++中的文件读写,该怎么弄?谢谢。
下面是SOCKET的 客户端:
#include <Winsock2.h>
#pragma comment(lib,"WS2_32.lib")
#include <stdio.h>
//服务器端口号为5050
#define DEFAULT_PORT 5050
//缓冲区长度
#define DATA_BUFFER 1024
void main(int argc,char *argv[])
{
WSADATA wsaData;
SOCKET sClient;
int iPort=5050;
//服务器地址长度
int iLen;
//接收数据的缓冲
int iSend;
intiRecv;
//要发送给服务器的信息
char send_buf[]="I am a client.";————————>从发送一句话改成发送一个文件中的数据
//接收数据的缓冲区
char recv_buf[DATA_BUFFER];
//服务器端地址
struct sockaddr_in ser;
//处理命令行中
//接收数据的缓冲区初始化
memset(recv_buf,0,sizeof(recv_buf));
if(WSAStartup(MAKEWORD(2,2),&wsaData)!=0)
{
printf("Failed to load Winsock.\n");
return;
}
//建立服务器端地址
ser.sin_family=AF_INET;
ser.sin_port=htons(iPort);
ser.sin_addr.s_addr=inet_addr("127.0.0.1");
//建立客户端数据报套接口
sClient=socket(AF_INET,SOCK_DGRAM,0);
if(sClient==INVALID_SOCKET)
{
printf("socket()Failed:%d\n",WSAGetLastError());
return;
}
iLen=sizeof(ser);
//向服务器发送数据
iSend=sendto(sClient,send_buf,sizeof(send_buf),0,(struct sockaddr*)&ser,iLen);
if(iSend==SOCKET_ERROR)
{
printf("sendto()Failed:%d\n",WSAGetLastError());
return;
}
else if(iSend==0)
return;
else
printf("sendto()succeeded.\n");
//从服务器接收数据
iRecv=recvfrom(sClient,recv_buf,sizeof(recv_buf),0,(struct sockaddr*)&ser,&iLen);
if(iRecv==SOCKET_ERROR)
{
printf("recvfrom()Failed.:%d\n",WSAGetLastError());
return;
}
else if(iRecv==0)
return;
else
{
//显示从服务器收到的信息
printf("recvfrom():%s\n",recv_buf);
printf("---------------------------\n");
}
closesocket(sClient);
WSACleanup();
}
展开
 我来答
旺盛还通畅灬夜鹰9520
2014-06-27 · TA获得超过235个赞
知道答主
回答量:247
采纳率:100%
帮助的人:140万
展开全部
不知道,只是你这个问题分类在“恋爱”区…不得不骂管理员是个213
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式