C++ socket编程实例
服务器端:
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <stdio.h>
#include <iostream>
#include <arpa/inet.h>
#include <unistd.h>using namespace std;typedef unsigned char uchar;int main()
{//build the socket for serverint s = socket(AF_INET, SOCK_STREAM, 0);//bind the socket to addressstruct sockaddr_in adr_s;adr_s.sin_family = AF_INET;adr_s.sin_addr.s_addr = inet_addr("127.0.0.1");adr_s.sin_port =htons(1235);bind(s, (struct sockaddr *)&adr_s, sizeof(adr_s));//listenlisten(s, 20);//accept the request from client//build the socket for client, system can bind local address to it automaticallystruct sockaddr_in adr_c;socklen_t c_size = sizeof(struct sockaddr_in);int c= accept(s, (struct sockaddr *)&adr_c, &c_size);/*char str[] = "Hello World!"; // apply for a space for the received dataint recv_result = write(c, str, sizeof(str));cout<<"recv_result is:"<<recv_result<<endl;*/char buffer[BUFSIZ];int len;while((len = recv(c, buffer, BUFSIZ, 0))>0){buffer[len] = '\0';printf("recv string is:%s\n", buffer);if(send(c, buffer, len*sizeof(char), 0)<0)perror("send");}close(s);close(c);return 0;}
客户端:
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <stdio.h>
# include <string.h>
#include <iostream>
#include <arpa/inet.h>#include <unistd.h>using namespace std;typedef unsigned char uchar;int main()
{//build a socket for the clientint c = socket(AF_INET, SOCK_STREAM, 0);//build a socket for the serverint s = socket(AF_INET, SOCK_STREAM, 0); //the struct for the address of the serverstruct sockaddr_in adr_s;adr_s.sin_family = AF_INET;adr_s.sin_addr.s_addr = inet_addr("127.0.0.1");adr_s.sin_port =htons(1235);bind(s, (struct sockaddr *)&adr_s, sizeof(adr_s));//connect to the socket of the server.if(connect(c, (struct sockaddr*)&adr_s, sizeof(adr_s))<0)perror("connect");/*char buffer[40];read(c, buffer, sizeof(buffer)-1);printf("Message form server: %s\n", buffer);*/char buffer[BUFSIZ];int len;while(1){printf("input a string:");scanf("%s", buffer);if(send(c, buffer, strlen(buffer)*sizeof(char), 0)<0)perror("send");if((len = recv(c, buffer, BUFSIZ*sizeof(char), 0))<0)perror("recv");buffer[len] = '\0';printf("recv string is:%s\n", buffer);}close(c);return 0;
}
C++ socket编程实例相关推荐
- Socket编程实例
2019独角兽企业重金招聘Python工程师标准>>> Java具有非常强大的网络应用开发能力.学习网络编程,估计都是从编写一个socket通信开始,从中慢慢掌握网络编程的一点点知识 ...
- C语言 socket编程实例
C语言 socket编程实例 一. 面向连接的流式套接字 C/S 例子 二. 非阻塞的多人聊天服务器端例子 三. 简单的 IPv6 UDP socket编程 四.使用wireshark抓包分析tcp协 ...
- android c++ socket编程,C++ 中 socket编程实例详解
C++ 中 socket编程实例详解 sockets(套接字)编程有三种,流式套接字(SOCK_STREAM),数据报套接字(SOCK_DGRAM),原始套接字(SOCK_RAW):基于TCP的soc ...
- NIO Socket编程实例
1.阻塞模式实例 NIOUtil类,用来通过SOcket获取BufferedReader和PrintWriter. package IO;import java.io.BufferedReader; ...
- JAVA socket编程实例 转载
事实上网络编程简单的理解就是两台计算机相互通讯数据而已.对于程序员而言,去掌握一种编程接口并使用一种编程模型相对就会显得简单的多了.Java SDK提供一些相对简单的Api来完成这些工作.Socket ...
- JAVA socket编程实例
2019独角兽企业重金招聘Python工程师标准>>> 事实上网络编程简单的理解就是两台计算机相互通讯数据而已.对于程序员而言,去掌握一种编程接口并使用一种编程模型相对就会显得简单的 ...
- socket编程实例_NIO之网络编程源码阅读
之前分析了ByteBuffer.Channel相关的基本知识,现在对于NIO的基石已经有了基本的了解.不过NIO最突出的特性还是其基于select编程模型的网络编程体验. NIO网络编程通常有两种使用 ...
- LiteOS通信模组教程05-LiteOS的SAL及socket编程实例
1. SAL套接字抽象层 SAL全称Socket Abstract Layer,即套接字抽象层,主要作用是对上层应用提供一层统一的 socket 编程接口,屏蔽底层网络硬件的差异. LiteOS的SA ...
- php socket编程实例
因为用到客户端程序与网页三方支付接口交互,我觉得可以这样来简单实现,在三方支付回调页面中放一个socket服务端,客户端程序与这个socket服务端进行交互,以此来进行最终业务逻辑处理. php中so ...
- tcp java实例_实现了基于TCP的Java Socket编程实例代码
实现了基于TCP的Java Socket编程,功能很简单:客户端向服务器端输出一名话"connect",服务器端接收输出到控制台并向客户端输出一名话"Hello" ...
最新文章
- MVP在Android平台上的应用
- MATLAB修改工作环境
- 计算机用户名更改不了,简单几步解决win10电脑用户名改不了的问题
- 【Mongodb】如何创建mongodb的replica set
- [architecture]-ARMV7架构下Linux Kernel的Userspace进程切换时保存和恢复哪些寄存器
- 钱伯斯的遗产:思科与集成虚拟网络堆栈
- ashx中Response.ContentType的常用类型
- laravel 环境自编译过程
- java实现支付宝第三方登录_Java 实现QQ第三方登录(附赠:完整代码)
- [转载] python oct_Python oct()
- latex 论文绘图: 图像文字重叠
- TypeScript实战:下棋游戏
- GPU图形加速型云服务器是什么?
- SketchUppro 2021 已支持M1芯片款mac安装 SketchUppro 2021 直装版M1安装教程 M1芯片处理器安装草图大师问题教程
- 智慧政府:大数据治国时代的来临 - 电子书下载(高清版PDF格式+EPUB格式)
- You're currently running Fcitx with GUI 错误解决 Fcitx
- 【51单片机】基于51单片机的时钟电子锁设计
- IDEA 官网进不去解决办法
- vue + element 实现文件上传
- 三星支付存在漏洞可导致黑客进行交易劫持