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

侯马市网站建设公司北京seo关键词优化收费

侯马市网站建设公司,北京seo关键词优化收费,刺激免费视频,装修公司排名哪家好的一.什么是Socket? Socket,又叫套接字,是在应用层和传输层的一个抽象层。它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用以实现进程在网络中通信。 socket分为流socket和数据报socket,分别基于tcp和udp实现。 SOCK_STREAM 有以下…

一.什么是Socket?

Socket,又叫套接字,是在应用层和传输层的一个抽象层。它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用以实现进程在网络中通信。

 socket分为流socket和数据报socket,分别基于tcp和udp实现。

SOCK_STREAM 有以下几个特征:

  1. 数据在传输过程中不会消失;
  2. 数据是按照顺序传输的;
  3. 数据的发送和接收不是同步的。

UNIX/Linux 程序在执行任何形式的 I/O 操作时,都是在读取或者写入一个文件描述符。一个文件描述符只是一个和打开的文件相关联的整数,它的背后可能是一个硬盘上的普通文件、FIFO、管道、终端、键盘、显示器,甚至是一个网络连接

请注意,网络连接也是一个文件,它也有文件描述符!你必须理解这句话。

与 UNIX/Linux 不同的是,Windows 会区分 socket 和文件,Windows 就把 socket 当做一个网络连接来对待,因此需要调用专门针对 socket 而设计的数据传输函数,针对普通文件的输入输出函数就无效了。

tcpserver代码:

#include "socket.hpp"
#include <iostream>
#include <string>
#include <memory>int main()
{SocketInit socketInit;//创建监听套接字SOCKET sListen = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);if (sListen == SOCKET_ERROR){std::cout << "监听失败" << std::endl;}//绑定套接字sockaddr_in sock_in;sock_in.sin_family = AF_INET;sock_in.sin_port = htons(1234);sock_in.sin_addr.S_un.S_addr = INADDR_ANY;int ret = bind(sListen, (sockaddr*)(&sock_in), sizeof(sock_in));if (ret == SOCKET_ERROR){std::cout << "绑定套接字失败" << std::endl;closesocket(sListen);return -1;}//if (listen(sListen, 10) == SOCKET_ERROR){std::cout << "监听失败" << std::endl;return -1;}sockaddr_in sock_client;int nlen = sizeof(sockaddr_in);//接受客户端的连接SOCKET sClient = accept(sListen, (sockaddr*)(&sock_client), &nlen);if (sClient == SOCKET_ERROR){std::cout << "接收客户端失败" << std::endl;closesocket(sListen);return -1;}//std::cout << "与客户端连接成功...." << std::endl;while (true) {char buff[1024] = { 0 };int result = recv(sClient, buff, 1024, 0);if (result > 0) {std::cout << "接收到了数据" << buff <<std::endl;}else{std::cout << "客户端断开连接" << std::endl;break;}}closesocket(sListen);getchar();return 0;
}

client代码:

#define _WINSOCK_DEPRECATED_NO_WARNINGS
#include "socketinit.hpp"
#include <iostream>
#include <string>
#include <memory>
#include <WS2tcpip.h>int main()
{SocketInit socketInit;//创建套接字SOCKET sClient = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);if (sClient == SOCKET_ERROR){std::cout << "创建失败" << std::endl;}//绑定套接字sockaddr_in sock_in;sock_in.sin_family = AF_INET;sock_in.sin_port = htons(1234);sock_in.sin_addr.S_un.S_addr = inet_addr("192.168.152.1");int ret = connect(sClient, (sockaddr*)(&sock_in), sizeof(sock_in));if (ret == SOCKET_ERROR){std::cout << "连接服务器失败" << std::endl;closesocket(sClient);return -1;}while (true) {char buff[1024] = { 0 };gets_s(buff, 1024);int result = send(sClient, buff, strlen(buff), 0);}closesocket(sClient);getchar();return 0;
}

http://www.mmbaike.com/news/43677.html

相关文章:

  • 境外色情网站有哪些杭州网站优化体验
  • wordpress 微信注册码迷seo
  • 盐城网站优化服务近期国家新闻
  • 文化馆 网站 设计聚名网域名注册
  • 外贸网站设计注意事项qq排名优化网站
  • 易利购网站怎么做常见的搜索引擎有哪些
  • html好看的首页昆山优化外包
  • 山西网站建设鸣蝉朋友圈广告推广平台
  • 济南哪家做网站seo的概念是什么
  • 厦门市城乡建设局网站网络营销与直播电商好就业吗
  • 高端品牌网页设计关键词优化排名的步骤
  • 网站建设源码谷歌竞价广告
  • 郑州企业做网站搜索排名影响因素
  • 网站模板版权网站优化公司大家好
  • 注册安全工程师考试题库及答案福州seo推广外包
  • 建设英文网站的请示百度开发者平台
  • wap手机网站制作百度网盘登录入口官网
  • 专做服装的网站百度关键词排名突然没了
  • 地税局内网网站建设营销计划书7个步骤
  • 网站建设全包哪家便宜大数据培训机构排名前十
  • 网站优化毕业设计seo网站优化收藏
  • 怎么搭建网站平台做做网站
  • 做毕设好的网站自己怎么制作网页
  • 在日本做网站的公司有哪些温州云优化seo
  • 58做网站一年多少钱站长工具ip地址查询
  • 网站开发文案公司做网络推广哪个网站好
  • 深圳市工商注册信息查询网站平台外宣推广技巧
  • 做音乐网站的目的和意义seo视频教程百度云
  • 商店网站在线设计常用的营销方法和手段
  • 做网站分辨率一般多少地域名网址查询