winsock初学者一只,如何接受和传送.txt 急
winsock菜鸟一只,怎么接受和传送.txt 急啊急。。求救。。
今天刚刚实现了消息对着传,往下的任务要实现传输.txt文件,有什么方法吗?以客户端为例吧,代码截图见下:
怎么改?分不多了。。
------解决方案--------------------
用二进制打开文件,边读,边send发送。可以参考代码来自《WinSock网络编程经络》第16章,源码解压后找WebSrv, 下载地址:http://download.****.net/detail/geoff08zhang/4571358
示例代码:
res_file = fopen(file_name, "rb+"); /* 用二进制格式打开文件 */
do /* 发送文件, HTTP 的消息体 */
{
read_len = fread(read_buf, sizeof(char), HTTP_BUF_SIZE, res_file);
if (read_len > 0)
{
send_len = send(soc, read_buf, read_len, 0);
file_len -= read_len;
}
} while ((read_len > 0) && (file_len > 0));
------解决方案--------------------
实现传输.txt文件
------------
以二进制读文件-》存入buffer -》传输buffer
今天刚刚实现了消息对着传,往下的任务要实现传输.txt文件,有什么方法吗?以客户端为例吧,代码截图见下:
怎么改?分不多了。。
------解决方案--------------------
用二进制打开文件,边读,边send发送。可以参考代码来自《WinSock网络编程经络》第16章,源码解压后找WebSrv, 下载地址:http://download.****.net/detail/geoff08zhang/4571358
示例代码:
res_file = fopen(file_name, "rb+"); /* 用二进制格式打开文件 */
do /* 发送文件, HTTP 的消息体 */
{
read_len = fread(read_buf, sizeof(char), HTTP_BUF_SIZE, res_file);
if (read_len > 0)
{
send_len = send(soc, read_buf, read_len, 0);
file_len -= read_len;
}
} while ((read_len > 0) && (file_len > 0));
------解决方案--------------------
实现传输.txt文件
------------
以二进制读文件-》存入buffer -》传输buffer