服务端中获取客户端发送过来的数据一定是关闭套接字之前进行,close之后就收不到数据了。
一般读取数据一般用read,windows上一般用recv(本质上也是read),但是为了跨平台,所以一般用revc。

如下代码

sockaddr_in caddr;socklen_t len = sizeof(caddr);int client = accept(sock, (sockaddr*)&caddr, &len);//创建一个新的socket,用来与客户端单独进行通信printf("accept client %d\n", client);char* ip = inet_ntoa(caddr.sin_addr);     unsigned short cport = ntohs(caddr.sin_port);       //将网络字节序转化为本地字节序printf("client ip is %s,port is %d\n", ip, cport);char buffer[1024] = { 0 };int recvlen = recv(client, buffer, sizeof(buffer)-1,0);  //第四个参数这个0是flag和系统相关,有很多自定一的操作,我们这边0就是不对他设置printf("recv %s\n", buffer);closesocket(client);

实验演示:
服务端:

客户端:

二:服务端循环接收客户端的数据
将上面的代码进行调整,比如说我们收到用户发一个quit之后我们再退出,不然我们就一直接收用户信息
如下代码:

for (;;){int recvlen = recv(client, buffer, sizeof(buffer) - 1, 0);  //第四个参数这个0是flag和系统相关,有很多自定一的操作,我们这边0就是不对他设置if (recvlen <= 0)break;buffer[recvlen] = '\0';if (strstr(buffer, "quit") != NULL)break;printf("recv %s\n", buffer);}

演示:
服务端

客户端:

C++socket编程(三):3.6 服务端recv客户端发送的数据相关推荐

  1. Netty的Socket编程详解-搭建服务端与客户端并进行数据传输

    场景 Netty在IDEA中搭建HelloWorld服务端并对Netty执行流程与重要组件进行介绍: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article ...

  2. springboot实现SSE服务端主动向客户端推送数据,java服务端向客户端推送数据,kotlin模拟客户端向服务端推送数据

    SSE服务端推送 服务器向浏览器推送信息,除了 WebSocket,还有一种方法:Server-Sent Events(以下简称 SSE).本文介绍它的用法. 在很多业务场景中,会涉及到服务端向客户端 ...

  3. c# WINFORM SOCKET编程-简单聊天程序(服务端)

    初学C#的SOCKET编程,照着网上的代码写下来,程序总是有问题,经过自己长时间的调试,完成程序,以下是原码,有需要可以参考一下,还不完善,欢迎大家批评指正.(这里的代码没更新,附件重新上传更新,在另 ...

  4. Socket编程实践(6) --TCP服务端注意事项

    僵尸进程处理 1)通过忽略SIGCHLD信号,避免僵尸进程 在server端代码中添加 signal(SIGCHLD, SIG_IGN); 2)通过wait/waitpid方法,解决僵尸进程 sign ...

  5. java socket 包头包体_使用JAVA上抓取Socket服务端和客户端通信TCP数据包

    使用Java抓取Socket通信TCP数据包 使用WireShark默认使用的是winpcap去抓本地环回的数据包,需要安装npcap再在Wireshark选择本地环回的网卡抓包 在Java-Sock ...

  6. socket文件传输服务器,Socket文件传输(含服务端以及客户端源码)

    Socket文件传输 [实例简介] 传输任意格式文件 [实例截图] [核心代码] using System; using System.Collections.Generic; using Syste ...

  7. 服务器怎么向指定客户端发送信息,WebSocket 如何实现服务端向客户端发送消息?...

    我们都知道, Websocket 是一个双向的通讯方式,一般情况下,我们都是根据 Client 的情况返回信息,但是在一个更加健壮的系统,我们可能需要主动的向客户端发送消息.我试图在中文网络去搜索,查 ...

  8. Java中Socket通信-服务端和客户端双向传输字符串实现

    场景 什么是socket 在计算机通信领域,socket 被翻译为"套接字",它是计算机之间进行通信的一种约定或一种方式.通过 socket 这种约定,一台计算机可以接收其他计算机 ...

  9. web 服务端与客户端交互

    Web server to client communication Technology 1.   Traditional solution 传统模式的 Web 系统以客户端发出请求.服务器端响应的 ...

最新文章

  1. php返回结果判断,老司机在判断返回结果时翻了个身(ThinkPHP)
  2. 大厂程序媛的特殊烦恼:男朋友工资只有自己的60%,天天阴阳怪气!
  3. 谷歌、亚马逊、微软、IBM…这些巨头都已如何通过AI赚到钱了?
  4. Apache端口设置多域名和转发请求(虚拟域名)
  5. 计算机文化基础教程问什么好难买到,问一个翻译的问题新编计算机文化基础(教程 – 手机爱问...
  6. Unity中使用WebView
  7. 聊聊这些天收到的简历
  8. metronic-Website Template
  9. 基于云的平台利用新技术来改变商店式购物营销
  10. Nginx 负载均衡和缓存服务实战
  11. 传说中的80后的17条潜规则,你占了几条...
  12. 【转】JMeter Tutorial的安装和具体操作
  13. linux万能密码,Linux pam 后门纪录root用户密码以及设置万能密码登录root
  14. 软件工程第二次作业——git的使用
  15. 什么样的电子签名有法律效力
  16. 微信html5电子相册,如何快速制作微信H5电子相册?
  17. Depthwise卷积与Pointwise卷积
  18. 大数据入门培训之大数据开发基础知识学习
  19. html网页运行出现404错误,网页无法进入404错误是什么情况?怎么办? 爱问知识人...
  20. 10.(后端)响应信息优化

热门文章

  1. SqlServer2008R2镜像(无域)
  2. DateTime 格式相比较,timestampdiff() 函数的运用
  3. Spark源码剖析(一):如何将spark源码导入到IDEA中
  4. CSS3(七) 前端预处理技术(Less、Sass、CoffeeScript)
  5. tar包在linux下 java安装
  6. 深浅拷贝的应用-copy、mutableCopy
  7. 第六章 自动测试实施(上)
  8. android 字体点击变色,Android TextView 中实现部分文字变色以及点击事件
  9. 易语言客户端请求http_HTTP的重点问题
  10. 99%的人都不知道的鸡兔同笼解法!