#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. pg_config executable not found

    Error: pg_config executable not found. Please add the directory containing pg_config to the PATH or ...

  2. 机器学习:Python中如何使用支持向量机(SVM)算法

    (简单介绍一下支持向量机,详细介绍尤其是算法过程可以查阅其他资) 在机器学习领域,支持向量机SVM(Support Vector Machine)是一个有监督的学习模型,通常用来进行模式识别.分类(异 ...

  3. 微信小程序评分功能

    很多做过电商项目的朋友会经常用到评分的功能,我这里正好写了一个例子,发出来分享一下: 我写的是5分满分制的,首先,准备3个图片, ,像这样的,分别代表分数为0,0.5,1 时的状态, 效果图:(以3. ...

  4. 老李分享:持续集成学好jenkins之解答疑问

    老李分享:持续集成学好jenkins之解答疑问   poptest(www.poptest.cn)在培训的过程中使用jenkins搭建持续集成环境,让学员真正交流持续集成到底是什么,怎么去做的. Je ...

  5. 转接IC整理汇总 转接芯片大全

    转接口IC大全,信号转换大全EDP输出信号NCS8801 LVDS转EDP.RGB转EDP 封装QFN56 最大分辨率2560*1600用于手机.平板.转接板.液晶驱动板.广告机.可视门铃等等控制器到 ...

  6. kafka 入门笔记 #1

    kafka 入门笔记(#1) 单机测试 下载版本,解压 tar -xzf kafka_2.11-0.10.1.1.tgz cd kafka_2.11-0.10.1.1 启动服务 Kafka用到了Zoo ...

  7. 进入html+css世界的正确姿势

    今天,我带大家一起走进html+css的世界. HTML其实是HyperText Markup Language的缩写, 超文本标记语言.他是用于告诉浏览器这是一个网页, 也就是说告诉浏览器我是一个H ...

  8. 深入Web请求过程

    B/S网络架构 带来的好处: 1.客户端使用同一的浏览器. --浏览器的交互特性使其使用起来非常简便 2.服务器基于统一的http.  --简化.规范开发模式,大大节省开发成本.如tomcat ngi ...

  9. 基于bootstrap的bootstrap-editable插件实现即时编辑功能

    1.引用基本css和js: <link href="bootstrap3/css/bootstrap.min.css" rel="stylesheet" ...

  10. Unity使用GL画线

    脚本需挂在相机上,如果你的脚本,编辑器报错了,Matrix stack full depth reached,加上这个方法试试GL.LoadPixelMatrix(); using System.Co ...