当前位置: 首页 > news >正文

做营销网站那个好品牌营销策略包括哪些内容

做营销网站那个好,品牌营销策略包括哪些内容,小游戏网站欣赏,百度电话人工服务C 代码实现socket 类使用TCP/IP进行通信 #xff08;windows 系统#xff09; TCP客户端通信常规步骤#xff1a; 1.初始换socket环境 2.socket()创建TCP套接字。 3.connect()建立到达服务器的连接。 4.与客户端进行通信#xff0c;recv()/send()接受/发送信息#xff0…C 代码实现socket 类使用TCP/IP进行通信 windows 系统 TCP客户端通信常规步骤 1.初始换socket环境 2.socket()创建TCP套接字。 3.connect()建立到达服务器的连接。 4.与客户端进行通信recv()/send()接受/发送信息write()/read() 子进程写入、读取信息 5. close() 关闭客户连接。具体代码实现如下 /******************************************************Copyright (c) 2024, GhY, All rights reserved.*文件 MySocket.h*描述 TCP Socket 类封装声明**作者 GhY*日期 2024年7月24日*版本 v1.0.0*****************************************************/ #ifndef __MYSOCKET_H__ #define __MYSOCKET_H__ #include PublicDefine.h #include sigslot.h #include CIniConfig.h/**描述: Socket 类*作者: GhY*日期: 2024/07/24*历史:*/ class MySocket : public sigslot::has_slots { public:typedef sigslot::signal1 Tcp_SendData* SelectEvent;SelectEvent OnSelectEvent; // 消息事件 public:MySocket(std::string ip LOCAL_HOST, int port PORT, u_long uctl 1);~MySocket();/**desc 初始化服务端IpPort配置*param: ip port*return*author GhY*date 2024/07/24*version v1.0.0*history:*/void InitData(const std::string ip, const int port);/**brief 与服务器进行连接*author GhY*date 2024/07/24*/void ClientConnect();/**brief 关闭socket*author GhY*date 2024/07/24*/void Close();/**desc 发送数据*param: sdata 待发送数据*return*author GhY*date 2024/07/24*version v1.0.0*history:*/int SendData(const std::string sdata);/**brief 接收数据*author GhY*date 2024/07/24*/int ReceiveData();private:/**brief 初始化WINSOCK*author GhY*date 2024/07/24*/void InitWinsock();private:std::string m_ip;int m_port;u_long m_uctl; // 阻塞方式1非阻塞0阻塞 默认1SOCKET m_socket; };#endif //!__MYSOCKET_H__ /**************************************************** * *Copyright (c) 2024, GhY, All rights reserved. *文件 MySocket.h *描述 TCP Socket 类封装实现 * *作者 GhY *日期 2024年7月24日 *版本 v1.0.0 * ****************************************************/ #include MySocket.h #includewinerror.h #pragma comment(lib, ws2_32) #include time.h #include CIniConfig.husing namespace std;MySocket::MySocket(std::string ip, int port, u_long uctl): m_ip(ip), m_port(port), m_uctl(uctl), m_socket(NULL), m_socketClient(NULL) { }MySocket::~MySocket() {Close(); }void MySocket::InitData(const std::string ip, const int port) {if (ip.empty()) {m_ip LOCAL_HOST;} else {m_ip ip;}m_port port;InitWinsock(); }void MySocket::InitWinsock() {// 初始化WINSOCKWORD wVersionRequested MAKEWORD(2, 2);WSADATA wsd;if (WSAStartup(wVersionRequested, wsd) ! 0) {std::cout (init WSAStartup faild) std::endl;}if (LOBYTE(wsd.wVersion) ! 2 ||HIBYTE(wsd.wVersion) ! 2) {WSACleanup();std::cout WSACleanup std::endl;return;} }/************************************************************************/ /* 客户端 */ /************************************************************************/void MySocket::ClientConnect() {if (m_port 0) {m_port PORT;}if (m_ip.empty()) {m_ip LOCAL_HOST; //本地回路地址127用于一台机器上测试的IP}m_socket socket(AF_INET, SOCK_STREAM, 0);if (SOCKET_ERROR m_socket) {std::cout ( create socket failed !!!) std::endl;return;}int ret ioctlsocket(m_socket, FIONBIO, m_uctl); //阻塞方式 FIONBIO 允许或者禁止套接字m_socket非阻塞模式 0阻塞if (SOCKET_ERROR ret) {std::cout ( set ioctlsocket faild: model) m_uctl std::endl;return ;}SOCKADDR_IN addrSrv;addrSrv.sin_addr.S_un.S_addr inet_addr(m_ip.c_str());//地址addrSrv.sin_family AF_INET;addrSrv.sin_port htons(m_port);//和服务器端的端口号保持一致connect(m_socket, (SOCKADDR*)addrSrv, sizeof(SOCKADDR));//连接服务器端套接字地址转换长度 }void MySocket::Close() {if (m_socket ! NULL) {closesocket(m_socket); //关闭套接字释放为这个套接字分配的资源m_socket NULL;}WSACleanup();//终止对这个套接字库的使用 }int MySocket::SendData(const std::string sdata) {char sendBuf[SEND_DATA_LEN];memset(sendBuf, 0, sizeof(sendBuf));std::string strId g_ConfigPtr.getConfigValueWithKey(base, id).c_str();std::string strName g_ConfigPtr.getConfigValueWithKey(base, name).c_str();int ihead sizeof(TcpHead);int ibody sizeof(TcpBody);Tcp_SendData* pData (Tcp_SendData*)sendBuf;pData-_head._node strId.empty() ? 0 : atoi(strId.c_str());pData-_head._type 0;pData-_head._time time(NULL);TcpBody tBody;tBody._length sdata.length();memcpy(tBody._data, sdata.c_str(), sdata.length() 1);memcpy(tBody._srcName, strName.c_str(), strName.length() 1);memcpy(sendBuf[ihead], tBody, ibody);int sendLen ihead ibody;int ret send(m_socket, sendBuf, sendLen, 0);return ret; }int MySocket::ReceiveData() {std::string* redata nullptr;sockaddr_in sin;int slen sizeof(sin);char reBuf[SEND_DATA_LEN] {0};int ret recvfrom(m_socket, reBuf, SEND_DATA_LEN, 0, (sockaddr*)sin, slen);if (ret 0) {Tcp_SendData* pData (Tcp_SendData*)reBuf;//printf(%s\n, reBuf);OnSelectEvent.emit(pData);}return ret;} 注意 依赖的部分文件.h.cpp文件见本专栏其他文章。
http://www.tj-hxxt.cn/news/140847.html

相关文章:

  • 中卫网站推广软件wordpress如何开启ssl
  • 专业定制网站开发自己在哪里做网站
  • 路由侠怎么做网站映射网站制作公司浩森宇特
  • 本溪建网站网站建设常州青之峰
  • 破解织梦做的网站做网站都需要什么人团
  • 南阳免费网站建设关系建设的网站
  • 怎么用代码做网站wordpress目录
  • 物流网站建设评析中济建设有限公司网站
  • 网站 优化 关键字seo关键词排名优化哪家好
  • 免费企业自助建站信息发布网发布网页
  • 怎么增加网站浏览量新手怎样在手机上做电商
  • 福州做推广有哪些网站上海seo服务外包公司
  • 永州做网站网站建设需要什么资质
  • 郑州模板建站哪家好工作报告是组织进行沟通的有效渠道
  • 镇江seo网站优化做电商网站搭建就业岗位
  • 云服务器建立多个网站合肥论坛网
  • 公司网站空间申请网站建设 地址: 上海石门二路
  • 晨旭东方网站建设wordpress 9gag主题
  • 企业网站建设ppt模板泸州网站建设
  • 电脑做服务器发布网站网站怎样做漂浮
  • 浙江省建设监理协会网站网片加工机器
  • 南昌网站建设700起手机企业网站程序
  • 网站制作的预算浏阳市住房和城乡建设局的网站
  • 北京经济技术开发区建设局网站温州网站制作策划
  • 营销型网站建设明细软件开发报价明细
  • 成都私人网站制作公司西安网站建设 招聘
  • 广西柳州网站制作公司h5个网站的区别
  • 彩票网站开发软件中国建设银行巴黎分行网站
  • wap网站开发语言临沂网站建设铭镇
  • 厦门大型企业网站开发公司品牌seo如何优化