socket
计算机网络点点通信
anqiqi疯狂暴走兔
没事就爱不开心
展开
-
为什么socket传输文件出错?(连续多次send或者recv会导致什么?)
1.传输大文件的时候,缓冲区有限,肯定不可能一次性传过去,所以可以使用while循环多次读文件,将每次读取的文件send出去,再继续读文件,再继续send,但是执行的时候发现代码会卡滞,文件传送不过去,这种时候,只需要让接收端在接收到文件后回发一个ACK(随便回发一个字符啥的都行)进行阻塞即可:发送端:while(!feof(fp))//只要文件还没结束就要继续fread继续send{ filelen=0;//使用前进行初始化 filelen=fread(FileBuffer,1,FILE_LEN原创 2020-05-14 12:40:02 · 4588 阅读 · 2 评论 -
真机和虚拟机连接超时——虚拟机ip会自动改变?
做点点通信这个实验的时候,遭遇到了一些奇怪的问题。(1)虚拟机可以正常上网,但用socket将其与主机连接时,就老是连接超时,后来才知道我的虚拟网卡VMnet1和VMnet8在主机连接和DHCP两项中都未显示“已连接”和“已启用”这样的字样,我设置也无法改变。后来重装了虚拟机,这里就自动连接和启用了。(重装的时候要注意将旧的虚拟机卸载完全,最好是还要清除注册表)(2)明明已经ping通了主机和虚拟机,可是突然(真的是突然)就不通了,还提示连接超时。多方求解无果,最后都打算重装虚拟机。可是我用ifcon原创 2020-05-09 09:07:34 · 666 阅读 · 0 评论