这只是用作测试,想要真正的实现客户端与客户端之间的传输等功能还需要修改很多。
思路:服务器里一个线程打开文件并进行读取,当读到规定的上限时,发送到客户端;发送完毕后,接着上次继续读取,再发送,直到读取完毕。
而客户端则是,接收信息,新建一个.c文件,将接收到的信息存到新建的文件中去。
程序描述:运行./server a.c -> ./client;之后屏幕会出现读取的详细信息;客户端输入“bye”即可退出。客户端是接收的一方,创建了v.c的一个文件,将接收到的信息都存入了进去。
服务器:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<unistd.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<pthread.h>
#include<sys/socket.h>
int sockfd;
int fds[100];
int size = 100;
char *ip = "192.168.1.66";
#define PORT 8000
typedef struct sockaddr SA;
char filename[10];
void init()
{
sockfd = socket(PF_INET,SOCK_STREAM,0);
if(sockfd == -1)
{
perror("socket");
exit(1);
}
struct sockaddr_in addr;
addr.sin_family = PF_INET;
addr.sin_port = htons(PO