socket文件变成目录

socket文件变成目录,第1张

1.客户端输入路径后,到达服务器端需要先加上"/"否则可能会出错

2.找到该路径下的目录内容调用os的listdir()方法,返回的是一个列表的形式,必须将其格式化为字符串

3.目录内容格式化为字符串,需要用某个字符去作为分隔符,再用分隔符.join()的方法将列表转为指定分隔符分隔的字符串

4.到达客户端时,输出split()按某个特定分隔符分隔后的列表即可输出目录内容

5.服务器端的返回上一级目录时,其原理是去掉当前路径的路径名,如c:/test/111,要返回到test则需要去掉114

6.依据第五点的原理,需要将当前路径按windows的分隔符进行分隔,但是此方法分隔成列表后列表最后一个元素返禅和会多出一个空格,

所以去掉路径名的同时也漏盯需要去掉空格,即在split()后加上[:-2]即可(去掉列表最后的两个元素)袭哪

如果是自己设计的网络编程传输,因为socket缓冲区大小和应用层接收速度不一致,就会导致部分数据还没接受完,下一部分数据又到来。可以设计一个方法来确保数据一致则租。

网页链接

typedef struct

{  

int len //buf里面存放的数据长度  

char buf[128] 

}data,*pdada 

先发送服务器端读文件会返回读到的字节数,先给客户端发送这个,告诉他要接收多弯正少字符,然后在发送埋盯悔数据。

void recv_n(int new_fd,char *buf,int len)   

{  

int ret 

int total = 0 

while(total<len)  

{  

ret = recv(new_fd,buf+total,len-total,0) 

total += ret 

}  

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8225227.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存