要求:服务器端传送一个文件(图像文件或文本文件)到客户端
注意:以下操作的服务器端与客户端在同一局域网内
一、操作步骤
- 编写代码server.c和client.c(代码见 “二、代码” )
- 编译与运行
①编译
gcc server.c -o server
gcc client.c -o client
②查看服务器端ip并记住,例如查到是192.168.1.122
ifconfig
③运行
./server
./client 192.168.1.122
二、代码
/***server.c****/
/*server.c*/
#include <sys/types.h>
#include <sys/socket.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <unistd.h>
#include <netinet/in.h>
#define PORT 4321
#define BUFFER_SIZE 1024
#define MAX_QUE_CONN_NM 5
/
#define FILE_NAME_MAX_SIZE 512
/
int main( )
{
struct sockaddr_in server_sockaddr,client_sockaddr;
int sin_size,recvbytes;
int sockfd, client_fd;
char buf[BUFFER_SIZE];
/*建立socket连接*/
if ((sockfd = socket(AF_INET,SOCK_STREAM,0))== -1)
{
perror("Create Socket Failed! \n");//创建套接字失败
exit(1);
}
printf("Socket id = %d\n",sockfd); //输出Socket描述符
/*设置sockaddr_in 结构体中相关参数*/
server_sockaddr.sin_family = AF_INET;
server_sockaddr.sin_port = htons(PORT);