简单的Linux客户-服务器网络程序

原创 2007年09月30日 20:12:00

   下面这段程序中,服务器监听5000端口,客户端通过TCP连接上去以后,服务器会向客户端发送“Hello,success”字符串。程序非常简单,却实现了基本功能。

 服务器端程序如下

#include <sys/socket.h>
#include 
<netinet/in.h>
int main()
...{
  
int listensock,connsock;
  
const char buff[]="Hello,success";
  
struct sockaddr_in serveraddr;
  bzero(
&serveraddr,sizeof(serveraddr));
  listensock
=socket(AF_INET,SOCK_STREAM,0);
  serveraddr.sin_family
=AF_INET;
  serveraddr.sin_addr.s_addr
=htonl(INADDR_ANY);
  serveraddr.sin_port
=htons(5000);
  bind(listensock,(
struct sockaddr*)&serveraddr,sizeof(serveraddr));
  printf(
"begin to listen on port 5000... ");
  listen(listensock,
1024);
  connsock
=accept(listensock,NULL,NULL);
  send(connsock,buff,
sizeof(buff),0);
  close(connsock);
  close(listensock);

}

客户端程序如下

#include <sys/socket.h>
#include 
<netinet/in.h>
int main(int argc,char *argv[])
...{
 
int sockfd;
 
char buffer[100];
 
struct sockaddr_in serveraddr;
 bzero(
&serveraddr,sizeof(serveraddr));
 serveraddr.sin_family
=AF_INET;
 serveraddr.sin_port
=htons(5000);
 inet_pton(AF_INET,
"192.168.9.9",&serveraddr.sin_addr);
 sockfd
=socket(AF_INET,SOCK_STREAM,0);
 
int value=connect(sockfd,(struct sockaddr *)&serveraddr,sizeof(serveraddr));
 
if(value==0)
  printf(
"connect succeed ");
 
else
  printf(
"connect failed ");

 recv(sockfd,buffer,
sizeof(buffer),0);
 printf(
"%s ",buffer);
 close(sockfd);
}

 

 

 

linux下的简单文件服务器和客户端程序

本文是我的一次作业,由于花了很多精力,记下来以后可能还会用到。代码部分是从老师那拷贝的,作业是实现代码中没有实现的put和delete命令对文件的操作。我对代码的理解都做了标注,有点乱,但阅读方便。 ...
  • u012296503
  • u012296503
  • 2016年05月07日 21:19
  • 1792

java网络编程之简单客户端服务器

用Java开发网络软件非常方便和强大,Java的这种力量来源于他独有的一套强大的用于网络的 API,这些API是一系列的类和接口,均位于包java.net和javax.net中。在这篇文章中我们将介绍...
  • hongkangwl
  • hongkangwl
  • 2013年11月13日 11:23
  • 5486

linux网络编程之用socket实现简单客户端和服务端的通信(基于UDP)

1、sendto和recvfrom函数介绍 sendto(经socket传送数据) 相关函数 send , sendmsg,recv , recvfrom , socket 表头文...
  • u011068702
  • u011068702
  • 2017年02月23日 21:13
  • 2010

linux网络编程之socket(三):最简单的回射客户/服务器程序、time_wait 状态

下面通过最简单的客户端/服务器程序的实例来学习socket API。 echoser.c 程序的功能是从客户端读取字符然后直接回射回去。  C++ Code  ...
  • chenxun2009
  • chenxun2009
  • 2016年01月10日 15:48
  • 831

linux网络编程之socket(三):最简单的回射客户/服务器程序、time_wait 状态

下面通过最简单的客户端/服务器程序的实例来学习socket API。 echoser.c 程序的功能是从客户端读取字符然后直接回射回去。  C++ Code  ...
  • u014338577
  • u014338577
  • 2016年10月18日 09:16
  • 317

linux网络编程之socket(三):最简单的回射客户/服务器程序、time_wait 状态

下面通过最简单的客户端/服务器程序的实例来学习socket API。 echoser.c 程序的功能是从客户端读取字符然后直接回射回去。/****************************...
  • Sandeldeng
  • Sandeldeng
  • 2016年10月22日 12:41
  • 192

linux为服务器,Windows为客户端的简单文件传输程序

  • 2009年12月01日 15:38
  • 21KB
  • 下载

linux下的简单文件服务器和客户端程序

  • 2016年05月07日 21:27
  • 384KB
  • 下载

java 简单的网络聊天程序 服务器连接多个客户端

  • 2011年12月28日 21:25
  • 3KB
  • 下载

《UNIX网络编程》第一章——一个简单的时间获取客户端/服务器程序

该程序为《UNIX网络编程》第一卷中第一章出现的程序, 该程序经过本人测试通过。 操作系统:CentOS 7 编译器:GCC 时间获取的服务器程序如下:   #include ...
  • xiaolong361
  • xiaolong361
  • 2016年09月10日 09:40
  • 628
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:简单的Linux客户-服务器网络程序
举报原因:
原因补充:

(最多只允许输入30个字)