永发信息网

socket 传输文件是把文件内容一段段的读入到字符串,再像socket传输消息那样传过去吗

答案:2  悬赏:0  手机版
解决时间 2021-02-26 23:55
  • 提问者网友:活着好累
  • 2021-02-26 13:56
通过socket传输消息一般用到了 send(),和recv()两个函数,如:

发送消息
sprintf(sndmsg,"%s",....);
if(send(mysockefd,sndmsg,sizeof(sndmsg),0)==-1){
throw string("发送消息失败...");
return -1;
}

接收消息
memset(rcvmsg,0x00,sizeof(rcvmsg));
if((n=recv(ctlflat_mainctl_socket,rcvmsg,sizeof(rcvmsg),0))==-1){
throw string("接收消息失败...");
return -1;
}
rcvmsg[n]=0x00;
printf("接收到的消息是:%s\n",rcvmsg);

ps:现在要求用socket传输文件,除了

fopen("aaa.txt","r");
while(fget(....)!=NULL){
//通过套接字send
send();
}

这个办法外,还有其他办法吗?要用到socket。
最佳答案
  • 五星知识达人网友:逐風
  • 2021-02-26 14:32
socket只能传BYTE··

把文件读取到文件流里再转成byte 传过去不就完了··
全部回答
  • 1楼网友:梦中风几里
  • 2021-02-26 14:50
也许是的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯