首页 > 其他分享 >把socket相关函数封装成类

把socket相关函数封装成类

时间:2022-11-22 23:08:30浏览次数:50  
标签:主程序 封装 socket 成类 cpp 服务端 函数


 

       book241.cpp和book242.cpp程序已经有点长了,有些啰嗦了,如果还想扩展功能,或用于多进程、多线程,程序结构将非常复杂。

       不管是socket通信程序的客户端还是服务端,准备工作的代码又长又难看占地方,影响了主程序的结构,必须分离出来。

如何分离? 封装。

C的封装方法

       C语言只能把程序代码封装成函数。

1、客户端的connecttoserver函数

      

把socket相关函数封装成类_C语言

2、服务端的initserver函数

      

把socket相关函数封装成类_socket_02

3、客户端的主程序

      

把socket相关函数封装成类_C语言_03

4、服务端的主程序

      

把socket相关函数封装成类_C++语言_04

       把connecttoserver函数和initserver函数放入_public.h和_public.cpp中,可以作为通用的函数库。

C++的封装方法

       C++语言可以封装数据和函数,采用的是类。

1、客户端的CTcpClient类

       CTcpClient类的声明:

      

把socket相关函数封装成类_tcp_05

       CTcpClient类的实现:

      

把socket相关函数封装成类_socket_06

 

      

把socket相关函数封装成类_C语言_07

 

      

把socket相关函数封装成类_tcp_08

       客户端主程序(book247.cpp)

      

把socket相关函数封装成类_C++语言_09

2、服务端的CTcpServer类

       CTcpServer类的声明:

      

把socket相关函数封装成类_C语言_10

       CTcpServer类的实现:

      

把socket相关函数封装成类_通信_11

      

把socket相关函数封装成类_C++语言_12

      

把socket相关函数封装成类_socket_13

       服务端主程序(book248.cpp)

      

把socket相关函数封装成类_C++语言_14

       把CTcpClient类和CTcpServer类放入_public.h和_public.cpp中,可以作为通用的函数类。

应用经验

       本章节演示了如何封装socket通信,这种封装是最简单的,socket通讯的知识点不算多,但是要做好应用开发却不容易,这么说吧,如果把这两个章节介绍的知识完全掌握,差不多就摸到门槛了,还算不上入门,千万别说自己已精通socket通信。以后的路还长。

版权声明

作者:码农有道

如果文章有错别字,或者内容有误,或其他的建议或意见,请您留言指正,非常感谢!!!

 

标签:主程序,封装,socket,成类,cpp,服务端,函数
From: https://blog.51cto.com/u_13748800/5878691

相关文章

  • socket通信基础知识
     socket的概念    socket用于网络中一台计算机中的程序与其他计算机的程序之间需要交换数据。    socket也称作“套接字”,用于描述IP地址和端口,是一个通信链......
  • Day19:属性封装详解
    属性封装详解封装即隐藏一些数据,让外部不能直接访问,而是需要通过一些方法才能设置或者访问。首先我们来看未封装的属性被外部调用的情况publicclassStudents{//创建一......
  • 对el-table进行二次封装
    新建组件:<template><divclass="table-container"><el-table:data="tableData"width="100%":height="height":row-style="{height......
  • 协程下的socket并发
    服务端fromgeventimportmonkey;monkey.patch_all()fromsocketimport*importgeventdefserver(server_ip,port):s=socket(AF_INET,SOCK_STREAM)s.set......
  • 【网络编程】Unity中使用Socket编程
    基本介绍名词解释Socket:网络连接的一端被称为socket。一个socket包含以下五个元素:使用的协议、本机IP、本地端口、远程IP、远程端口。IP地址:每台电脑都有一个自己的IP地址。......
  • websocket html网页
    <html><body>Welcome<br/><inputid="text"type="text"/><buttononclick="send()">Send</button><buttononclick="closeWebSocket()">Close</bu......
  • 封装适用于CentOS7的MySQL离线包
    1构建一个centos7.6.1810的docker镜像,用于下载MySQL+xtrabackup所需安装包7.6.1810的docker镜像,低版本最小安装,会尽可能把所需的包拉齐。Dockerfile文件如下FROMcent......
  • 登录方法封装以及404
    普通方式:全局表单验证完成后要做的事情200-token-username-message-push:把这个登录封装成api进行调用api封装:Login页使用api:登录页:el样式调控:404:组件:路......
  • 用C++写一遍linux socket通信过程
    要想深刻理解一些技术的底层,我还是觉得非用用c/c++写一遍的比较好。这其中的原因相信懂的人都懂。回忆一下上学时候在c语言课堂上的激动劲,如今感觉对c的理解真的都是那时候......
  • php-socket
    网络中是如何通信数据传输?ip+端口+协议实现网络进程之间的通信,几乎所有的应用程序都是采用socket,“一切皆socket”。HTTPTCPSOCKET区别Http协议:对应于应用层。Http协......