socket学习(一)tcp传输文件的小程序

本文介绍了TCP网络编程的基础,通过实例展示了如何使用socket在Linux环境下实现一个客户端程序,该程序能向服务器发送文件。详细讲述了软件流程,并给出了代码示例,成功实现了从命令行指定服务器地址和文件名进行文件传输的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TCP网络编程的应用很广泛,http、ftp等协议均是基于tcp协议,作为一名菜鸟,学习网络编程就从这里开始吧!

稍微查了一下资料,TCP网络编程有两种模式:客户端和服务器模式,

那么我的目标是实现一个能够向服务器传输文件的小程序,客户端负责向服务器发送文件,服务器负责接收文件。

先来完成客户端的部分。

简单的画下软件流程


根据流程贴一下代码

#include <stdio.h>
#include <stdlib.h>
#include <strings.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <linux/in.h>
#define PORT 8888
int main(int argc,char *argv[])
{
	int socket_id;
	struct sockaddr_in server_addr;
	int error;
	char buffer[16];
	int size=0;
	int file;
	socket_id=socket(AF_INET,SOCK_STREAM,0);//建立套接字
	if(socket_id<0)
	{
		printf("Socket Error\n");
		return -1;
	}
	bzero(&se
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值