TCP服务器的编写(上)

tcp服务器的初始化,第一件事情就是创建套接字

目前来说我们的tcp套接和udp套接是没有任何区别的!!!

那么接下来,如果是udp创建好套接字在进行绑定,那么基本上就完成我们udp服务器的初始化

而我们tcp创建好套接字,在进行绑定,因为我们tcp是面向连接的,当我们正式通信的时候,需要建立连接

这样子也就完成了,我们tcp服务器的初始化

-------------------------------------------------------------------------------------------------------------------------

这是我们的第一版服务器

--------------------------------------------------------------------------------------------------------------------------

我们尝试用两个客户端访问我们的服务器

但是当我让第一个客户端,退出时

只能够进行一次处理一个客户端,处理完了一个 , 才能处理完下一个

很显然,是不能够直接被使用的!!   ----   为什么??如何解决呢??

因为我们目前写的是单进程,获取连接成功,进行server时,server内部是一个死循环,这个死循环在进行读取,如果server内部死循环不退出,那么一直在进行读取,但进程的执行流,就无法回到上面accept获取新连接

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

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

相关文章

node.js学习(简单聊天室)

在掘金查看该文章 1. TCP服务搭建 1.1 socket 先来粗略了解下socket 套接字(socket)是一个抽象层,应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开、读写和关闭等操作。套接字允许应用程序将I/O插入到网络中&am…

对BIOS进行简单快速的设置更改,就能启用安全引导来安装Windows 11

本文介绍如何在UEFI/BIOS中启用安全引导,以便继续安装Windows 11。 如何启用安全引导 启用安全引导最简单的方法是通过UEFI/BIOS进行。它通常被列为BIOS中的众多选项之一,因此你只需打开它即可启用它。 1、启动,或重新启动你的电脑或笔记本…

华为配置VRRP负载分担示例

组网需求 如图1所示,HostA和HostC通过Switch双归属到SwitchA和SwitchB。为减轻SwitchA上数据流量的承载压力,HostA以SwitchA为默认网关接入Internet,SwitchB作为备份网关;HostC以SwitchB为默认网关接入Internet,Switc…

基于C/C++的libcurl多协议文件传输库dll二次封装开发使用

libcurl 可能是最便携、最强大和最常用的 这个星球上的网络传输库。官方提供的示例,需要在项目中引用到libcurl-imp.lib才能使用。 这里我改造了下工程,将常用的接口导出到了libcurl.dll中方便直接在后续的工程代码中应用,下面可以看到dll常用…

掌握 RPC 接口测试:一篇详尽的接口测试手册

RPC 是什么? 远程过程调用协议(RPC)是一种技术,它允许在不同的机器上执行函数,就好像这些函数是本地调用一样。简单地说,客户端系统透明地从网络上的远程服务器软件请求服务,而无需理解复杂的网…

jenkins学习19 - pipline 构建项目生成 allure报告并发送邮箱

前言 个人其实一直的不太喜欢用邮箱发送报告,测试报告用邮件通知这都是五六年前的事情了,但有部分小伙伴依然执着于发邮件报告通知。 这里整理了下发邮箱通知的教程。 配置你的邮箱 配置邮箱这一步最繁琐,由于每个人使用的邮箱不一样&…

Axure动态面板的使用

一. 动态面板 Axure动态面板是Axure RP软件中的一个功能模块,用于创建交互式原型和模拟应用程序的动态效果。它可以模拟用户在应用程序中的操作流程,并展示不同状态之间的变化,提供更真实的用户体验。通过创建不同的状态和添加交互效果&…

一种用于心音分类的轻量级1D-CNN+DWT网络

这是由National Institute of Technology Rourkela, Central University of Rajasthan发布在2022 ICETCI的论文,利用离散小波变换(DWT)得到的多分辨率域特征对1D-CNN模型进行心音分类训练。 预处理& DWT 由于FHS和各种病理声的频率范围在500hz以下[5]&#xff…

【Android】使用 Glide 给 ImageView 加载图像的简单案例

前言 Android Glide是一个用于在Android应用中加载和显示图片的流行开源库。它提供了简单易用的API,可以帮助开发者高效地加载远程图片、本地图片以及GIF动画,并提供了缓存、内存管理等功能,使得图片加载在移动应用中更加流畅和高效。Glide还…

云开发微信小程序实战

随着移动互联网的快速发展,微信小程序作为一种轻量级的应用程序,逐渐成为了企业开展业务和提升用户体验的重要工具。而云开发则为企业提供了高效、安全、可靠的后台服务,使得小程序的开发和维护更加便捷。本文将详细介绍如何使用微信小程序与…

解析多云管理软件:优化企业云端资源的关键工具

引言 在当今数字化时代,企业普遍倾向于利用多个云服务提供商的优势,以满足不同的需求和业务场景。这种多云环境带来了灵活性和选择性的提升,同时也带来了一系列的挑战。在这样的环境中,多云管理软件成为了企业的关键工具。 多云管…

Python学习之复习MySQL-Day6(约束)

目录 文章声明⭐⭐⭐让我们开始今天的学习吧!约束简介概念目的分类 约束演示外键约束概念添加外键删除外键删除/更新行为 文章声明⭐⭐⭐ 该文章为我(有编程语言基础,非编程小白)的 MySQL复习笔记知识来源为 B站UP主(…