首先,谢谢大家阅读和帮助,我非常感激.
第二,我很抱歉,但我还是这个网站的新手,英语不是我的母语,所以我可以做一些格式和语言错误.我提前道歉.
另外,我的C知识不是那么好,但我愿意学习和提高.
现在,就此事而言:
我需要做的是创建一个客户端和一个服务器,让服务器侦听传入的连接.
然后我让客户端向服务器发送一个非常大的文本文件(我知道它只是一个文件).
然后,服务器将对该文件执行一些操作(它将在发送的文件上运行一个脚本,该脚本在输出中生成另一个名为"output.txt"的文件).然后,服务器需要将output.txt文件发送回客户端.
现在,我有点如何制作客户端和服务器(我在本网站上阅读了beej指南和其他一些内容),甚至我可能犯了一些错误.我需要一些帮助服务器恢复文件,然后调用脚本并将其他文件发送回客户端.现在我做的是服务器和客户端...我真的不知道如何继续.
在旁注中,我使用我在本网站和互联网上找到的文件制作了这些文件,我希望它们不会太乱,因为我对程序员来说并不是那么好.
这是client.c
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <pthread.h>
#define SOCKET_PORT "50000"
#define SOCKET_ADR "localhost"
#define filename "/home/aryan/Desktop/input.txt"
void error(const char *msg)
{
perror(msg);
exit(0);
}
int main()
{
/* Making the client */
int sockfd, portno, n;
struct sockaddr_in serv_addr;
struct hostent *server;
char buffer[256];
portno = atoi(SOCKET_PORT);
sockfd = socket(AF_INET, SOCK_STREAM, 0);
if (sockfd < 0)
error("ERROR opening socket"); …Run Code Online (Sandbox Code Playgroud) #include <stdio.h>
void main()
{
printf("ab");
printf("\bsi");
printf("\rha");
}
Run Code Online (Sandbox Code Playgroud)
此代码在GCC 4.8编译器上提供"ha"的输出
#include <stdio.h>
void main()
{
printf("ab");
printf("\bsi");
printf("\rha");
printf("\n");
}
Run Code Online (Sandbox Code Playgroud)
此代码在GCC 4.8编译器上提供"hai"的输出
现在的问题是为什么在添加语句printf("\n")时输出从"ha"变为"hai"; 最后(根据我)不应该因前面的行而影响代码.
您可以在以下代码中解释一件事:
#include<stdio.h>
int main()
{
int n;char ch,ch1;
scanf("%d\n",&n);
printf("d-%d \n",n);
scanf("\n%c",&ch);
printf("ch-%d \n",ch);
scanf("\n%c",&ch1);
printf("ch1-%d \n",ch1);
printf("%d %d %d\n",n,ch,ch1);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
为什么在输入n的值后,它直接询问ch的值然后直接执行语句来打印它们各自的值,即语句:
printf("d-%d \n",n);
printf("ch-%d \n",ch);
Run Code Online (Sandbox Code Playgroud)