#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include <unistd.h> int main() {
/* socket */
int soc_ser_l=socket(PF_INET,SOCK_STREAM,); /* creat server sockaddr_in */
struct sockaddr_in ser_addr;
ser_addr.sin_family=AF_INET;
ser_addr.sin_addr.s_addr=htonl(INADDR_ANY);
ser_addr.sin_port=htons();
memset(ser_addr.sin_zero,,); /* bind connect socket and ip/port */
if(bind(soc_ser_l,(struct sockaddr*)&ser_addr,sizeof(ser_addr))==-)
{
printf("bind error");
return ;
} /* listen */
if(listen(soc_ser_l,)==-)
{
printf("listen error");
return ;
}
/* creat items */
int soc_ser_t;
struct sockaddr_in cli_addr;
while (){
/* accept */
int len=sizeof(ser_addr);
soc_ser_t=accept(soc_ser_l,(struct sockaddr *)&cli_addr,&len);
if(soc_ser_t==-){
perror("accept error");
exit();
} /* recv data */
char recv_buf[];
int ret=recv(soc_ser_t,recv_buf,,);
if(ret>){
recv_buf[ret]='\0';
printf("server recv:");
printf("%s\n",recv_buf);
} /* send data */
char send_msg_str[];
printf("server send:");
fgets(send_msg_str,,stdin);
*(strchr(send_msg_str,'\n'))='\0';
send(soc_ser_t,send_msg_str,strlen(send_msg_str),);
close(soc_ser_t);
} close(soc_ser_l);
return ;
}
 #include<stdio.h>
#include<string.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h> int main(){
/* creat client socket */
int soc_cli=socket(PF_INET,SOCK_STREAM,);
/* creat server sockaddr_in */
struct sockaddr_in ser_addr;
ser_addr.sin_family=PF_INET;
ser_addr.sin_addr.s_addr=inet_addr("192.168.195.129");
ser_addr.sin_port=htons();//8888 port number has no ""
memset(ser_addr.sin_zero,,); /* connect */
if(connect(soc_cli,(struct sockaddr*)&ser_addr,sizeof(ser_addr))==-){
printf("connect error");
return ;
} /* send */
char cli_send_str[];
printf("client send:");
fgets(cli_send_str,,stdin);
*(strchr(cli_send_str,'\n'))='\0'; send(soc_cli,cli_send_str,strlen(cli_send_str),); /* recv */
char cli_recv[];
int ret=recv(soc_cli,cli_recv,,);
if(ret>){
cli_recv[ret]='\0';
printf("client recv:");
printf("%s\n",cli_recv);
} close(soc_cli);
return ;
}

简单实现服务器/客户端的c代码的更多相关文章

  1. 运用socket实现简单的服务器客户端交互

    Socket解释: 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket. Socket的英文原义是“孔”或“插座”.作为BSD UNIX的进程通信机制,取后一种意 ...

  2. Windows Socket 编程_ 简单的服务器/客户端程序

    转载自:http://blog.csdn.net/neicole/article/details/7459021 一.程序运行效果图 二.程序源代码 三.程序设计相关基础知识 1.计算机网络    2 ...

  3. C/C++编程日记:用C语言实现的简单Web服务器(Linux),全代码分享!

    相信大家对Apache都有所听闻,Apache是目前使用最为广泛我Web服务器.大家可以从news.netcraft.com/这个网站得到证实. 这是腾讯的uptime.netcraft.com/up ...

  4. Java新AIO/NIO2:AsynchronousServerSocketChannel和AsynchronousSocketChannel简单服务器-客户端

    Java新AIO/NIO2:AsynchronousServerSocketChannel和AsynchronousSocketChannel简单服务器-客户端用AsynchronousServerS ...

  5. 伯克利SocketAPI(一) socket的C语言接口/最简单的服务器和对应的客户端C语言实现

    1. 头文件 2. API函数 3. 最简单的服务器和对应的客户端C语言实现 3.1 server #include <sys/types.h> #include <sys/sock ...

  6. upd套接字服务器与客户端交互C++代码示范

    upd套接字服务器与客户端交互C++代码示范 // vc2_2_4UDPserver_Txwtech.cpp : 定义控制台应用程序的入口点. //服务器端 #include "StdAfx ...

  7. nginx配置SSL实现服务器/客户端双向认证

    http://blog.csdn.net/kunoy/article/details/8239653 本人不才,配置了两天,终于搞出来了,结合网上诸多博文,特此总结一下! 配置环境: Ubuntu 1 ...

  8. Socket网络编程--简单Web服务器(1)

    这一次的Socket系列准备讲Web服务器.就是编写一个简单的Web服务器,具体怎么做呢?我也不是很清楚流程,所以我找来了一个开源的小的Web服务器--tinyhttpd.这个服务器才500多行的代码 ...

  9. python socket 实现的简单http服务器

    预备知识: 关于http 协议的基础请参考这里. 关于socket 基础函数请参考这里. 关于python 网络编程基础请参考这里. 一.python socket 实现的简单http服务器   废话 ...

随机推荐

  1. ConversionService接口

    spring已经为我们提供了一个既可以使用GenericConversionService,又可以注入Converter的类,那就是ConversionServiceFactoryBean.该类为我们 ...

  2. C# 索引同时含有数字和字符串的集合 同时具备IList和IDictionary的特点

    同时具备IList和IDictionary的特点的集合 [Serializable] public class MyCollection:IList { private readonly Dictio ...

  3. java数组、java.lang.String、java.util.Arrays、java.lang.Object的toString()方法和equals()方法详解

    public class Test { public static void main(String[] args) { int[] a = {1, 2, 4, 6}; int[] b = a; in ...

  4. div的优缺点

    div+css优缺点   产生背景 HTML语言自HTML4.01以来,不再发布新版本,原因就在于HTML语言正变得越来越复杂化.专用化.即标记越来越多,甚至各个浏览器生产商也开发出只适合于其特定浏览 ...

  5. css 多行超长点点点

    超长?不是很好吗?什么?不好?有什么坏处吗?会使人想哭的! 这里来说下,超长点点点的处理: 一行超长点点点,这个很多都会吧! text-overflow: ellipsis; white-space: ...

  6. .net core 持续构建简易教程

    环境需求:jenkins和.netcore 由于jenkins在真机上的部署比较麻烦,所以在这里我使用基于jenkins的Docker,只要任何一台运行docker的环境都可以进行以下的操作. doc ...

  7. 深入探究stm32GPIO口模式(类比51)

    关于STM32GPIO口的8种工作模式,我们先引出一些问题? STM32GPIO口如果既要输入又要输出怎么办? 1.浮空输入模式 上图红色的表示便是浮空输入的过程,外部输入时0读出的就是0,外部输入时 ...

  8. C#---------------继承和多态初步

    继承:在程序中,如果一个类A:类B,这种机制就是继承. 子类可以继承父类的所有内容(成员)吗? 解析: 1.私有成员(属性和方法) 2.构造函数 3.final修饰过的方法,子类不能进行重写 3.访问 ...

  9. Java基础学习

    1,基本类型和引用类型 基本类型就是一个盒子,数据本身就保存在盒子里面,引用类型的盒子里放的是数据的五:地址,通过这个地址来找到数据. 基本数据类型和堆中对象的引用保存在栈中,引用类型保存在堆中. 2 ...

  10. [原创] JavaScript实现简单的颜色类标签云

    效果预览: 源码分享: <!DOCTYPE html><html><head lang="en"> <meta charset=" ...