/* server.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>
#include <unistd.h>
int main(void)
{
int sockfd,new_fd;
struct sockaddr_in my_addr;
struct sockaddr_in their_addr;
size_t sin_size;
char buff[1024];
int numbytes;
//创建socket
if((sockfd = socket(AF_INET,SOCK_STREAM,0))==-1)
{
perror("socket");
exit(1);
}
my_addr.sin_family = AF_INET;
my_addr.sin_port = htons(2323);
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");
exit(1);
}
if(listen(sockfd,10)==-1)
{
perror("listen");
exit(1);
}
while(1) {
sin_size = sizeof(struct sockaddr_in);
perror("server is run");
if((new_fd = accept(sockfd,(struct sockaddr *)&their_addr,&sin_size))==-1)
{
perror("accept");
exit(1);
}
// 新起一个进程
if(!fork())
{
if((numbytes = recv(new_fd,buff,1024,0))==-1)
{
perror("recv");
exit(1);
}
printf("%s",buff);
if(send(new_fd,buff,numbytes,0)==-1)
perror("send");
close(new_fd);
exit(0);
}
close(new_fd);
}
close(sockfd);
}
分享到:
相关推荐
本示例代码提供了客户端(client)和服务器端(server)的实现,帮助初学者深入理解如何在Linux环境下使用Sockets进行网络通信。 首先,让我们了解一下Linux Socket的基本概念。Socket是一种进程间通信机制,它允许...
Linux下的Socket编程实例(阻塞和非阻塞) 通过分析给定的文件信息,我们可以生成以下知识点: Socket编程概述 Socket 编程是指使用操作系统提供的 socket 编程接口来实现网络通信的编程方式。Socket 编程可以实现...
本教程将深入探讨Linux下的socket编程,包括服务器和客户端的实现。我们主要关注以下几个知识点: 1. **Socket基本概念**: Socket是网络通信的基础,它是两台机器之间建立连接的接口。在Linux中,它是一个文件...
Linux 下 Socket 连接超时的一种实现方法 在 Linux 环境下,设置套接字(Socket)连接超时是一件非常重要的事情。下面我们将详细介绍 Linux 下 Socket 连接超时的一种实现方法。 首先,需要创建套接字,并将其设置...
在IT领域,Linux下的Socket编程是一项基础且重要的技能,它涉及到网络通信的核心技术。这篇博客“Linux下Socket编程”很可能会深入探讨如何在Linux操作系统环境下使用Socket接口进行网络编程,这是构建服务器端和...
本篇将深入探讨标题为"Linux Socket两则示例"的资源,其中包括`echo_server.c`和`echo_client.c`两个源代码文件,以及对应的可执行文件`echo_server`和`echo_client`,这些示例主要展示了TCP协议的使用。 首先,让...
总结来说,`socket`和`fork`在Linux下的结合使用,允许服务器高效地处理多个并发客户端请求。每个客户端请求都会生成一个新的子进程,确保了请求处理的并发性和隔离性。这样的设计模式在多用户交互式应用,如Web...
在Linux下的socket的简单编程示例,使用标准C,一共两个文件,一个客户端一个服务端。 相关文章http://blog.csdn.net/mimiduck/archive/2011/05/04/6393663.aspx
本示例主要关注Linux环境下的网络编程,特别是使用Socket API进行网络通信的基本步骤。标签"2410 socket linux"表明这是一个关于Linux系统下Socket编程的教程,可能是针对嵌入式开发平台或者初学者。 Socket编程...
Linux下的Socket编程是网络通信的重要组成部分,特别是在服务器端开发中占据着核心地位。Socket接口提供了在不同进程间传输数据的能力,而广播、组播和UDP则是在特定场景下实现网络通信的有效方式。以下是对这些概念...
在本教程中,我们将探讨如何在Linux环境下开发一个基于TCP协议的Socket客户端,同时利用Fork进程技术来实现多连接或者并发处理。 **一、TCP协议与Socket接口** TCP(Transmission Control Protocol)是一种面向...
### Linux下Socket编程基础详解 #### 一、引言 在深入探讨Socket编程之前,我们首先需要理解什么是Socket。在计算机网络中,Socket是应用程序与网络通信之间的一个接口,它提供了一种方式来建立网络连接并进行数据...
10. **学习资源**:学习Socket编程,可以参考《UNIX Network Programming》等经典书籍,同时网上有许多关于Linux Socket编程的教程和示例代码可供学习。 总之,"Linux下的socket聊天室程序"是一个很好的实践项目,...
5. `main.cpp`:示例程序,展示了如何使用这个跨平台的Socket库。 在实际项目中,开发者可以使用这个库来编写网络服务程序,无论是服务器端还是客户端,都能够在Windows和Linux系统上无缝运行。通过这种方式,...
本资源提供了一个简单的C++实现的客户端(client)和服务器(server)示例,帮助初学者理解如何在Linux环境下使用Socket API进行网络编程。 Socket编程涉及到几个关键概念: 1. **Socket接口**:Socket是进程间...
在Linux系统中,Socket是一种进程间通信机制,它允许不同进程之间通过网络进行数据交换。本实战教程将通过具体的源码实例,帮助你深入理解Linux Socket编程的核心概念和技巧。 一、Socket基础知识 Socket是网络通信...
《实战Linux Socket编程》是关于网络编程领域的一本经典书籍,专注于Linux系统下的socket接口使用。这本书通过实例展示了如何在Linux环境下进行网络通信,涵盖了从基础的socket创建、连接到高级的多线程、多进程并发...
总的来说,这个Linux Socket教程全面地覆盖了从基本的Socket创建到高级的网络编程技术,对于任何想要在Linux环境下进行网络编程的开发者来说,都是一份宝贵的资源。通过深入学习这些文档,读者将能够熟练地构建和...
包括服务器端与客户端的简单示例。值得一提的是其中makefile的编写,一个makefile文件生成两个目标文件,这也是makefile的强大之处吧. 在我的博客中有介绍...
在本项目中,我们深入探讨了如何在Linux环境下利用Socket API实现不同进程间的通信,包括本地文件操作以及TCP/IP协议栈的运用。下面将详细阐述相关知识点。 一、Linux Socket基础 Socket是操作系统提供的一种接口,...