在linux下写的客户端只是用来发送文件 在QT中进行接收
首先需要linux的网络需要ping通 将虚拟机的网络8(用于net模式通信)打开,Windows的资源管理器中的服务项将虚拟机的服务打开 ,回到虚拟机 将防火墙关掉 /etc/init.d/iptables stop 再将网络重新打开/etc/init.d/network restart
linux 的服务器代码
#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <string.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <string.h>
#include <fcntl.h>
#define SIZE 1024
#define PORT 9999
typedef struct transfile
{
char file_name[30];
int file_len;
char file_message[1024];
}File;
//sfd 用于和客户端通信
void handl_client(int sfd)
{
char buf[SIZE] = {0};
int flage = 1;
int count1 = 0;
File file;
memset(&file,0, sizeof(file));
if(flage == 1)
{
flage == 0;
FILE* fd1 = fopen("lala.txt","r");
if(fd1 == NULL)
{
perror("fopen");
fclose(fd1);
return ;
}