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

济南公司制作网站低价货源网站

济南公司制作网站,低价货源网站,wordpress的内链插件,网站的开发流程目录 一、介绍 二、收数据 三、发数据 一、介绍 tcp和udp的区别之一,即tcp是有连接的,udp是无连接的,udp收发数据的代码可以独立运行,tcp发数据前必须确保收数据的一方是打开的,否则无法建立连接。 二、收数据 tc…

目录

一、介绍

二、收数据

三、发数据


 

一、介绍

tcp和udp的区别之一,即tcp是有连接的,udp是无连接的,udp收发数据的代码可以独立运行,tcp发数据前必须确保收数据的一方是打开的,否则无法建立连接。

二、收数据

tcpRecv.h

#pragma once
#include<iostream>
#include<winsock.h>
#pragma comment(lib,"ws2_32.lib")
using namespace std;class tcpRecv
{
public:tcpRecv();~tcpRecv();void initialization();void recvData();
public://定义发送缓冲区和接受缓冲区char send_buf[100];char recv_buf[100];//定义服务端套接字,接受请求套接字SOCKET s_server;SOCKET s_accept;//服务端地址客户端地址SOCKADDR_IN server_addr;SOCKADDR_IN accept_addr;
};

 tcpRecv.cpp

#include "tcpRecv.h"tcpRecv::tcpRecv()
{initialization();//填充服务端信息server_addr.sin_family = AF_INET;server_addr.sin_addr.S_un.S_addr = htonl(INADDR_ANY);server_addr.sin_port = htons(14555);//创建套接字s_server = socket(AF_INET, SOCK_STREAM, 0);if (bind(s_server, (SOCKADDR *)&server_addr, sizeof(SOCKADDR)) == SOCKET_ERROR) {cout << "套接字绑定失败!" << endl;WSACleanup();}else {cout << "套接字绑定成功!" << endl;}//设置套接字为监听状态if (listen(s_server, SOMAXCONN) < 0) {cout << "设置监听状态失败!" << endl;WSACleanup();}else {cout << "设置监听状态成功!" << endl;}cout << "服务端正在监听连接,请稍候...." << endl;//接受连接请求int len = sizeof(SOCKADDR);s_accept = accept(s_server, (SOCKADDR *)&accept_addr, &len);if (s_accept == SOCKET_ERROR) {cout << "连接失败!" << endl;WSACleanup();}cout << "连接建立,准备接受数据" << endl;
}tcpRecv::~tcpRecv()
{//关闭套接字closesocket(s_server);closesocket(s_accept);//释放DLL资源WSACleanup();
}void tcpRecv::initialization() {//初始化套接字库WORD w_req = MAKEWORD(2, 2);//版本号WSADATA wsadata;int err;err = WSAStartup(w_req, &wsadata);if (err != 0) {cout << "初始化套接字库失败!" << endl;}else {cout << "初始化套接字库成功!" << endl;}//检测版本号if (LOBYTE(wsadata.wVersion) != 2 || HIBYTE(wsadata.wHighVersion) != 2) {cout << "套接字库版本号不符!" << endl;WSACleanup();}else {cout << "套接字库版本正确!" << endl;}//填充服务端地址信息}void tcpRecv::recvData() {//接收数据int recv_len = recv(s_accept, recv_buf, 100, 0);if (recv_len < 0) {cout << "接受失败!" << endl;}else {cout << "接收信息为:" << recv_buf << endl;}
}

 main.cpp

#include "tcpRecv.h"int main() {tcpRecv tcp;while (1) {tcp.recvData();}return 0;
}

三、发数据

tcpSend.h

#pragma once
#include<iostream>
#include<string>
#include<winsock.h>
#pragma comment(lib,"ws2_32.lib")
using namespace std;class tcpSend
{
public:tcpSend();~tcpSend();void initialization();void sendData(std::string&data);
public://定义服务端套接字,接受请求套接字SOCKET s_server;//服务端地址客户端地址SOCKADDR_IN server_addr;
};

 tcpSend.cpp

#include "tcpSend.h"tcpSend::tcpSend()
{initialization();//填充服务端信息server_addr.sin_family = AF_INET;server_addr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");server_addr.sin_port = htons(14555);//创建套接字s_server = socket(AF_INET, SOCK_STREAM, 0);if (connect(s_server, (SOCKADDR *)&server_addr, sizeof(SOCKADDR)) == SOCKET_ERROR) {cout << "服务器连接失败!" << endl;WSACleanup();}else {cout << "服务器连接成功!" << endl;}
}tcpSend::~tcpSend()
{//关闭套接字closesocket(s_server);//释放DLL资源WSACleanup();
}void tcpSend::initialization() {//初始化套接字库WORD w_req = MAKEWORD(2, 2);//版本号WSADATA wsadata;int err;err = WSAStartup(w_req, &wsadata);if (err != 0) {cout << "初始化套接字库失败!" << endl;}else {cout << "初始化套接字库成功!" << endl;}//检测版本号if (LOBYTE(wsadata.wVersion) != 2 || HIBYTE(wsadata.wHighVersion) != 2) {cout << "套接字库版本号不符!" << endl;WSACleanup();}else {cout << "套接字库版本正确!" << endl;}//填充服务端地址信息}void tcpSend::sendData(std::string&data) {int send_len = send(s_server, data.c_str(), sizeof(data), 0);if (send_len < 0) {cout << "发送失败!" << endl;}else {std::cout << "send data:" << data.c_str() << std::endl;}}

 main.cpp

#include "tcpSend.h"int main() {tcpSend tcp;for (int i = 0; i < 100; i++) {std::string s = "test " + std::to_string(i);tcp.sendData(s);Sleep(1000);}return 0;
}

 

http://www.yayakq.cn/news/685639/

相关文章:

  • 网站动态和静态的区别免费 网站点击
  • 广东炒股配资网站开发展会电子商务网站如何建设
  • 宝安-网站建设信科网络手机网站赏析
  • 厦门小羽佳网站建设开发域名查询ip网站
  • wordpress做大站好吗不写代码门户网站建设
  • 怎样手机微信登陆网站公司没网站怎么做dsp
  • 网站建设短信甘德县公司网站建设
  • 教做flash的网站厦门人才网唯一官网登录
  • apple esc企业解决方案百度seo排名优化公司哪家强
  • 赤壁网站建设公司卸载wordpress教程
  • 上海网站建设开发哪家好网站建造免费
  • wordpress网站数据库崩溃一般个人网址是什么
  • 提高网站排名的软件国家信息企业网查询
  • 本地网站建设软件可以做长页的网站
  • 网站seo策略免费域名申请网站空间
  • 如何推广自己的个人网站呢互联网站备案表
  • 建设网站需要什么信息网站建设内容录入论文
  • 北京海岸设计公司网站网页游戏排行榜2022前十名最新排名图片
  • 有帮忙做阿里巴巴网站的吗学做网站的网站
  • 卓越网的企业类型和网站种类广州番禺区房价
  • it运维服务商谷歌seo运营
  • 机械厂做的网站模板叫什么友妙招链接怎么弄
  • 苏州手机网站seo做网站时随便弄上去的文章怎么删掉
  • php做的网站建设公司做网站的费用怎么记账
  • 广州怎么做网站wordpress 怎么设置
  • 网站做我女朋友哪个网站做欧洲旅游攻略好
  • 做网站网站需要多少钱saas电商建站系统
  • 简单网站页面设计山东网站定制设计公司
  • 电子商务网站建设课程设计思路网站开发+.net+开源
  • 网站空间如何搬家如何利用网络进行推广和宣传