- 3
- 0
- 约1.19万字
- 约 10页
- 2015-08-07 发布于湖北
- 举报
socket实现文件传输.doc
服务器程序和客户端程序应当分别运行在两台计算机上。
在运行服务器端的计算机终端执行:./file_server
在运行客户端的计算终端上执行:./file_client ipaddr_server
然后根据提示输入要传输的服务器上的文件,该文件必须在服务器的当前运行目录中,否则会提示找不到文件。
直接上源码吧:
[cpp] view plaincopy
////////////////////////////////////////////////////////////////////////
// file_server.c -- socket文件传输服务器端示例代码
// /////////////////////////////////////////////////////////////////////
#includenetinet/in.h
#includesys/types.h
#includesys/socket.h
#includestdio.h
#includestdlib.h
#includestring.h
#define HELLO_WORLD_SERVER_PORT 6666
#define LENGTH_OF_LISTEN_QUEUE 20
#define BUFFER_SIZE 1024
#define FILE_NAME_MAX_SIZE 512
int main(int argc, char **argv)
{
// set sockets address information
// 设置一个socket地址结构server_addr,代表服务器internet的地址和端口
struct sockaddr_in server_addr;
bzero(server_addr, sizeof(server_addr));
server_addr.sin_family = AF_INET;
server_addr.sin_addr.s_addr = htons(INADDR_ANY);
server_addr.sin_port = htons(HELLO_WORLD_SERVER_PORT);
// create a stream socket
// 创建用于internet的流协议(TCP)socket,用server_socket代表服务器向客户端提供服务的接口
int server_socket = socket(PF_INET, SOCK_STREAM, 0);
if (server_socket 0)
{
printf(Create Socket Failed!\n);
exit(1);
}
// 把socket和socket地址结构绑定
if (bind(server_socket, (struct sockaddr*)server_addr, sizeof(server_addr)))
{
printf(Server Bind Port: %d Failed!\n, HELLO_WORLD_SERVER_PORT);
exit(1);
}
// server_socket用于监听
if (listen(server_socket, LENGTH_OF_LISTEN_QUEUE))
{
printf(Server Listen Failed!\n);
exit(1);
}
// 服务器端一直运行用以持续为客户端提供服务
while(1)
{
// 定义客户端的socket地址结构client_addr,当收到来自客户端的请求后,调用accept
// 接受此请求,同时将client端的地址和端口等信息写入client_addr中
struct sockaddr_in client_addr;
socklen_t length = sizeof(client_addr);
您可能关注的文档
最近下载
- 2026年详版个人信用报告征信报告最新Word可编辑模版样板doc文件.docx
- 2026年春接力版(新教材)小学音乐一年级下册(全册)教学设计(附目录P160).docx
- 行者讲课脉法下篇.doc VIP
- 铁塔电池通讯协议.docx VIP
- 复旦大学课程汉语言文学原典精读李杜精读.pdf VIP
- 电商数据分析(微课版)课件全套 第1--10章 电商数据分析概述---数据分析报告与看板制作.pptx
- 异常子宫出血的护理查房.pptx
- 2025年中医执业医师个人工作计划范文.docx VIP
- 2024《中班幼儿饮食行为现状调查—以S幼儿园为例》12000字.docx VIP
- 2025年美容美发十年行业数据洞察报告.docx
原创力文档

文档评论(0)