linuxä¸ç¨cè¯è¨ç¼åå±åç½èå¤©å·¥å ·
/*æå¡å¨*/
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <sys/socket.h>
#include <sys/wait.h>
#define SERVPORT
#define BACKLOG
#define MAX(a,b) ((a)>(b)?(a):(b))
void str_echo(int);
void server()
{
int sockfd,client_fd;
struct sockaddr_in my_addr;
struct sockaddr_in remote_addr;
socklen_t sin_size;
if((sockfd=socket(AF_INET,SOCK_STREAM,0))== -1)
{
perror("socket create error!");
exit(1);
}
my_addr.sin_family=AF_INET;
my_addr.sin_port=htons(SERVPORT);
my_addr.sin_addr.s_addr=INADDR_ANY;
bzero(&(my_addr.sin_zero),8);
if(bind(sockfd,(struct sockaddr *)&my_addr,sizeof(struct sockaddr))==-1)
{
perror("bind error!");
exit(1);
}
if(listen(sockfd,BACKLOG)==-1)
{
perror("listen error!");
exit(1);
}
while(1)
{
sin_size=sizeof(struct sockaddr_in);
if((client_fd=accept(sockfd,(struct sockaddr *)&remote_addr,&sin_size))==-1)
{
perror("accept error!");
continue;
}
printf("received a connection from %s\n",inet_ntoa(remote_addr.sin_addr));
if(!fork())
{
close(sockfd);
str_echo(client_fd);
exit(0);
}
close(client_fd);
}
}
void str_echo(int sockfd)
{
int maxfd;
char sendbuf[]={ 0};
char recvbuf[]={ 0};
fd_set rfds;
while(1)
{
FD_SET(0,&rfds);
FD_SET(sockfd,&rfds);
maxfd=MAX(0,sockfd)+1;
select(maxfd,&rfds,NULL,NULL,NULL);
if(FD_ISSET(sockfd,&rfds))
{
bzero(recvbuf,);
recv(sockfd,recvbuf,,0);
printf("C:%s\n",recvbuf);
}
if(FD_ISSET(0,&rfds))
{
read(0,sendbuf,);
send(sockfd,sendbuf,strlen(sendbuf),0);
bzero(sendbuf,);
}
}
}
int main()
{
server();
return 0;
}
/*客æ·ç«¯*/
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <netdb.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <sys/socket.h>
#define SERVPORT
#define MAXSIZE
#define MAX(a,b) ((a)>(b)?(a):(b))
void client(int argc,char **argv)
{
int sockfd,maxfd;
char sendbuf[MAXSIZE]={ 0};
char recvbuf[MAXSIZE]={ 0};
// struct hostent *host;
struct sockaddr_in serv_addr;
fd_set rfds;
/* if(argc<2)
{
fprintf(stderr,"Please enter the sserver's name!\n");
exit(1);
}
if((host=gethostbyname(argv[1]))==NULL)
{
herror("get host by name error!\n");
exit(1);
}
*/
if((sockfd=socket(AF_INET,SOCK_STREAM,0))==-1)
{
perror("socket creat error!\n");
exit(1);
}
serv_addr.sin_family=AF_INET;
serv_addr.sin_port=htons(SERVPORT);
// serv_addr.sin_addr=*((struct in_addr *)host->h_addr);
serv_addr.sin_addr.s_addr=inet_addr(".0.0.1");
bzero(&(serv_addr.sin_zero),8);
if(connect(sockfd,(struct sockaddr *)&serv_addr,sizeof(struct sockaddr))==-1)
{
perror("connection error!\n");
exit(1);
}
FD_ZERO(&rfds);
while(1)
{
FD_SET(0,&rfds);
FD_SET(sockfd,&rfds);
maxfd=MAX(0,sockfd)+1;
select(maxfd,&rfds,NULL,NULL,NULL);
if(FD_ISSET(sockfd,&rfds))
{
bzero(recvbuf,MAXSIZE);
recv(sockfd,recvbuf,MAXSIZE,0);
printf("S:%s\n",recvbuf);
}
if(FD_ISSET(0,&rfds))
{
fgets(sendbuf,MAXSIZE,stdin);
send(sockfd,sendbuf,strlen(sendbuf),0);
bzero(sendbuf,MAXSIZE);
}
}
// close(sockfd);
}
int main(int argc,char **argv)
{
client(argc,argv);
return 0;
}
C语言中源程序是什么意思
源程序 就是你写的源代码, 一般包括C文件和H文件. 也称为源文件和头文件.
程序, 说的是包括源程序和编译出来的可执行程序.
一个完整的程序, 可以只有一个C文件. 也可以包含多个C文件和H文件.
c语言程序是什么
C语言程序是一种使用C语言编写的计算机程序。C语言程序是程序一种使用C语言编写的源代码,用于执行特定的源码c语言聊语任务或操作。C语言是天程一种通用的、过程式的序源计算机编程语言,特别适用于系统编程和底层硬件操作。代码stage源码它支持结构化编程,聊天包括函数、程序变量、源码c语言聊语数组、天程指针等基本概念。序源此外,代码C语言提供了丰富的聊天库和工具,用于开发各种类型的程序应用程序。
以下是源码c语言聊语关于C语言程序的详细解释:
1. C语言程序的基本构成
C语言程序由一系列语句组成,每个语句表达一个特定的操作或指令。程序通常包括以下几个部分:头文件、函数库、函数定义和主函数。其中,主函数是自定义组装源码程序的入口点,程序的执行从这里开始。
2. C语言的特点
C语言具有高效、灵活、可移植性强等优点。它可以处理各种数据类型,并提供丰富的操作符和函数库来执行各种计算和操作。此外,C语言支持模块化编程,可以将大型程序划分为多个小模块,提高代码的订单管理系统的源码可维护性和可重用性。
3. C语言程序的执行过程
在编写完C语言程序后,需要使用C编译器将源代码编译成机器代码,然后执行该机器代码。编译器将检查源代码中的语法错误,并将其转换为计算机可以执行的指令。执行过程中,CPU按照指令逐行读取并执行程序,完成各种操作。
总的来说,C语言程序是最好看的css源码使用C语言编写的源代码,用于实现特定的功能或操作。它具有高效、灵活、可移植性强等优点,是计算机编程领域中的一种重要语言。
什么叫c语言?
C语言是一种计算机程序设计语言。 C语言是一种通用编程语言,它拥有强大的功能,既可以用于编写系统软件,如操作系统、网页源码怎么搜索文本编译器等,也可以用于开发应用软件。它具有高效、灵活、可移植性强等特点,广泛应用于各个领域。 C语言的详细解释如下: 1. 基础概念:C语言是一种过程式编程语言,它采用源代码的形式进行编程,需要通过编译器将源代码编译成机器语言,然后计算机才能执行。C语言的语法相对简洁,以英文关键词、标点符号和变量等为基础。 2. 特点介绍:C语言具备强大的功能是因为它具有丰富的库函数和运算符,并且提供了多种数据类型如整型、浮点型、字符型等。此外,C语言还允许直接操作内存,进行低级别的硬件控制等。这使得C语言既适合开发系统软件,也适合编写应用软件。 3. 应用领域:由于C语言的特性,它在许多领域都有广泛的应用。例如,操作系统中的大部分核心功能都是用C语言编写的,包括Windows、Linux等。此外,C语言在嵌入式系统、网络编程、图形界面开发等领域也发挥着重要作用。特别是在需要高效代码和高度控制硬件的环境中,C语言表现出极大的优势。 4. 学习重要性:掌握C语言是计算机科学领域的一项基本技能。它不仅是许多高级编程语言的基础,而且在计算机科学教育中有很高的地位。学习C语言不仅能帮助理解计算机的基本原理和编程思想,还能培养逻辑思维能力和解决问题的能力。 总的来说,C语言是一种功能强大且应用广泛的计算机编程语言。无论是从事软件开发还是系统维护,掌握C语言都是一项重要的技能。2024-12-23 06:51
2024-12-23 06:28
2024-12-23 05:57
2024-12-23 05:47
2024-12-23 05:30