C++ socket网络编程笔记(服务端2)

接上篇

C++ socket网络编程笔记(服务端1)_m0_46480482的博客-CSDN博客

1. 用一个while循环来持续监听信道消息

int done = 1;
while(done)
{....
}

2. 创建一个客户信箱来接受收到的消息

       int client_sock;

3. 创建一个客户信息的标签记录信息

        struct sockaddr_in client;    //标签socklen_t client_addr_len;    //用于记录标签长度,accept函数中要用到client_addr_len = sizeof(client);

4 将接受到的消息放到之前创建的客户信箱client_sock中

client_sock = accept(sock,(struct sockaddr *)&client , &client_addr_len);// sock是服务器的信箱,client是标签,client_addr_len是标签长度

5.可以将收到的客户消息的ip地址及端口号打印出来

		char client_ip[64];        // 用于记录ipprintf("client ip:%s\t port: %d\n",          inet_ntop(AF_INET,&client.sin_addr.s_addr,client_ip,sizeof(client_ip)),ntohs(client.sin_port));// 分别为获取ip和端口号

6. 读取消息内容

	int len;char buf[256];	len = read(client_sock,buf,sizeof(buf)-1);    // 读取消息内容 放到buf中 同时获取长度buf[len]='\0';printf("recive[%d]: %s\n",len,buf);           // 打印消息内容

7 写回消息

    len = write(client_sock,buf,len);printf("len:%d\nsend_message:%s\nFinished.",len,buf);

8.关闭连接

    close(client_sock);done = 0 ;close(sock);

下篇(完整代码):

https://blog.csdn.net/m0_46480482/article/details/122995283

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/439876.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【2019牛客暑期多校训练营(第五场)- E】independent set 1(最大独立集,状压dp)

题干: 链接:https://ac.nowcoder.com/acm/contest/885/E 来源:牛客网 Note: For C languages, the memory limit is 100 MB. For other languages, the memory limit is 200 MB. In graph theory, an independent set is a set of nonadj…

Apollo进阶课程㉑丨Apollo规划技术详解——Basic Motion Planning and Overview

原文链接:进阶课程㉑丨Apollo规划技术详解——Basic Motion Planning and Overview 运动规划(Motion Planning)就是在给定的位置A与位置B之间为机器人找到一条符合约束条件的路径。这个约束可以是无碰撞、路径最短、机械功最小等。具体的案例…

ROS机器人导航仿真(kinetic版本)

准备工作: ubuntu 16.04系统;ROS kinetic版本;ROS包turtlebot,导航包rbx1,模拟器arbotix,可视化rviz 1、安装ubuntu 16.04系统与安装ROS kinetic版本自行百度安装。一下链接可作为参考。 http://blog.csdn.net/weicao1990/article/details/52575314 2…

【牛客 - 1080B】tokitsukaze and Hash Table(STLset,并查集,Hash)

题干: 链接:https://ac.nowcoder.com/acm/contest/1080/B 来源:牛客网 tokitsukaze有n个数,需要按顺序把他们插入哈希表中,哈希表的位置为0到n-1。 插入的规则是: 刚开始哈希表是空的。 对于一个数x&a…

C++ socket网络编程笔记(服务端3) 完整代码

上篇&#xff1a; https://blog.csdn.net/m0_46480482/article/details/122995226 完整代码&#xff1a; #include<stdio.h> #include<unistd.h> #include<sys/types.h> #include<sys/socket.h> #include<string.h> #include<ctype.h> …

1.深度学习练习:Python Basics with Numpy(选修)

本文节选自吴恩达老师《深度学习专项课程》编程作业&#xff0c;在此表示感谢。 课程链接&#xff1a;https://www.deeplearning.ai/deep-learning-specialization 目录 1 - Building basic functions with numpy 1.1 - np.exp(), sigmoid function 1.2 - Sigmoid gradient …

一步步编写操作系统 20 x86虚拟bochs一般用法 上

bochs一般用法 bochs是一个开源x86 虚拟机软件。在它的实现中定义了各种数据结构来模拟硬件&#xff0c;用软件模拟硬件缺点是速度比较慢&#xff0c;毕竟全是软件来模拟&#xff0c;您想&#xff0c;虚拟机还要在软件中模拟各种中断&#xff0c;能不慢吗。不过它的功能非常强…

【牛客 - 1080E】tokitsukaze and Segmentation(dp,递推,思维)

题干&#xff1a; 链接&#xff1a;https://ac.nowcoder.com/acm/contest/1080/E 来源&#xff1a;牛客网 tokitsukaze有一个长度为n的字符串&#xff0c;字符串仅包含0-9。 tokitsukaze要把这个字符串切割成若干个子串&#xff0c;每个子串作为一个十进制的数&#xff0c;…

2.3)深度学习笔记:超参数调试、Batch正则化和程序框架

目录 1&#xff09;Tuning Process 2&#xff09;Using an appropriate scale to pick hyperparameters 3&#xff09;Hyperparameters tuning in practice: Pandas vs. Caviar 4&#xff09;Normalizing activations in a network&#xff08;重点&#xff09; 5&#xf…

2.深度学习练习:Logistic Regression with a Neural Network mindset

本文节选自吴恩达老师《深度学习专项课程》编程作业&#xff0c;在此表示感谢。 课程链接&#xff1a;https://www.deeplearning.ai/deep-learning-specialization/ You will learn to: Build the general architecture of a learning algorithm, including: Initializing para…

JVM内存区域详解

Java中虚拟机在执行Java程序的过程中会将它所管理的内存区域划分为若干不同的数据区域。下面来介绍几个运行时数据区域。 一、程序计数器 1.1 简述 程序计数器&#xff08;Program Counter Register&#xff09;是一块较小的内存空间&#xff0c;它的作用可以看做是当前线程所…

【牛客 - 1080C】tokitsukaze and Soldier(思维,偏序问题)

题干&#xff1a; 链接&#xff1a;https://ac.nowcoder.com/acm/contest/1080/C 来源&#xff1a;牛客网 在一个游戏中&#xff0c;tokitsukaze需要在n个士兵中选出一些士兵组成一个团去打副本。 第i个士兵的战力为v[i]&#xff0c;团的战力是团内所有士兵的战力之和。 但…

3.深度学习练习:Planar data classification with one hidden layer

本文节选自吴恩达老师《深度学习专项课程》编程作业&#xff0c;在此表示感谢。 课程链接&#xff1a;https://www.deeplearning.ai/deep-learning-specialization/ You will learn to: Implement a 2-class classification neural network with a single hidden layerUse unit…

一步步编写操作系统 11 实模式下程序分段的原因

cpu中本来是没有实模式这一称呼的&#xff0c;是因为有了保护模式后&#xff0c;为了将老的模式区别开来&#xff0c;所以称老的模式为实模式。这情况就像所有同学坐在同一个教室里&#xff0c;本来没有老同学这一概念&#xff0c;但某天老师领着一个陌生人进入教室并和大家宣布…

【牛客 - 1080D】tokitsukaze and Event(最短路,思维)

题干&#xff1a; 链接&#xff1a;https://ac.nowcoder.com/acm/contest/1080/D 来源&#xff1a;牛客网 这天&#xff0c;tokitsukaze带着她的舰队去才归一儿海探索。这个海域有n个站点&#xff0c;深海舰队控制着这片海域的m条航线&#xff0c;这些航线连接着这n个点&am…

4.深度学习练习:Building your Deep Neural Network: Step by Step(强烈推荐)

本文节选自吴恩达老师《深度学习专项课程》编程作业&#xff0c;在此表示感谢。 课程链接&#xff1a;https://www.deeplearning.ai/deep-learning-specialization/ fter this assignment you will be able to: Use non-linear units like ReLU to improve your modelBuild a d…

一步步编写操作系统21 x86虚拟机bochs 跟踪bios

为了让大家更好的理解bios是怎样被执行的&#xff0c;也就是计算机中第一个软件是怎样开始的&#xff0c;咱们还是先看下图3-17。在图的上面第5行&#xff0c;显示的是下一条待执行的指令&#xff0c;这是程序计数器&#xff08;PC&#xff09;中的值&#xff0c;在x86上的程序…

【CodeForces - 361D】Levko and Array (二分,dp)

题干&#xff1a; Levko has an array that consists of integers: a1, a2, ... , an. But he doesn’t like this array at all. Levko thinks that the beauty of the array a directly depends on value c(a), which can be calculated by the formula: The less value…

5.深度学习练习:Deep Neural Network for Image Classification: Application

本文节选自吴恩达老师《深度学习专项课程》编程作业&#xff0c;在此表示感谢。 课程链接&#xff1a;https://www.deeplearning.ai/deep-learning-specialization/ After this assignment you will be able to: Build and apply a deep neural network to supervised learning…

排序集锦(各种排序算法的特点及性能分析)

关于排序&#xff0c;似乎很简单的很常见的概念&#xff0c;却蕴含着很多技术&#xff0c;下面是从不同的角度&#xff0c;对排序的总结&#xff1a; 直插希 冒泡快 选择堆 1 按照排序特性分类 首先按照排序本身的操作特性可以分为下面几种&#xff1a; 插入排序 直接插入排…