⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 server.c

📁 一个简单的linux下的网络传输程序
💻 C
字号:
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <errno.h>

#define SERV_PORT 8004
#define MAX_MSG_SIZE    1024 

void udps_respon(int sockfd)
{
	int n;
	struct sockaddr_in addr;
	socklen_t len;
	char szMesg[MAX_MSG_SIZE];
	while(1)
	{
//		len = cliLen;
		n = recvfrom(sockfd,szMesg,MAX_MSG_SIZE,0,(struct sockaddr*)&addr,&len);
		szMesg[n] = 0;
		fprintf(stdout,"%s: %s\n",inet_ntoa(addr.sin_addr),szMesg);
		sendto(sockfd,"Edgar Hello!\n",n,0,(struct sockaddr*)&addr,len);
	}

}

int main()
{
	int sockfd;
	struct sockaddr_in servAddr,cliAddr;
	sockfd = socket(AF_INET,SOCK_DGRAM,0);
	if(sockfd<0) 
    { 
        fprintf(stderr,"Socket Error:%s\n",strerror(errno)); 
        exit(1); 
    } 

	bzero(&servAddr,sizeof(servAddr));
	servAddr.sin_family = AF_INET;
	servAddr.sin_addr.s_addr = htonl(INADDR_ANY);
	servAddr.sin_port = htons(SERV_PORT);
	if(bind(sockfd,(struct sockaddr *)&servAddr,sizeof(servAddr))<0)
	{
		fprintf(stderr,"Bind Error:%s\n",strerror(errno)); 
        exit(1); 
	}
	udps_respon(sockfd);
	close(sockfd);
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -