//六步创建TCP服务端
#include<iostream>
#include<Windows.h>
using namespace std;int main()
{//初始化ws2_32.dllWORD ver = MAKEWORD(2, 2);WSADATA wsaData;WSAStartup(ver, &wsaData);//对应WSACleanup的调用//1.建立一个socketSOCKET _sock = ::socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);if (_sock == INVALID_SOCKET){cout<<"创建socket失败" << endl;WSACleanup();return 0;}else{cout << "创建socket成功" << endl;}//填充sockaddr_in结构sockaddr_in sin;sin.sin_family = AF_INET;sin.sin_port = htons(1234);sin.sin_addr.S_un.S_addr = INADDR_ANY;//2.绑定端口if (bind(_sock, (sockaddr*)&sin, sizeof(sin)) == SOCKET_ERROR){cout << "绑定端口失败" << endl;WSACleanup();return 0;}else{cout << "绑定端口成功" << endl;}//3.Listen监听网络端口if (listen(_sock, 10) == SOCKET_ERROR){cout << "监听端口失败" << endl;WSACleanup();return 0;}else{cout << "监听端口成功" << endl;}//4.accept等待客户端连接sockaddr_in clientAddr;int nAddrLen= sizeof(clientAddr);SOCKET client;char buf[] = "Hello,I am Server.";while (true){client = accept(_sock, (sockaddr*)&clientAddr, &nAddrLen);if (client == INVALID_SOCKET){cout << "接受到无效客户端" << endl;WSACleanup();return 0;}else{cout << "接受客户端连接成功" << endl;}cout << "新客户端连接IP: " << inet_ntoa(clientAddr.sin_addr) << endl;//5.send向客户端发送一条数据send(client, buf, strlen(buf) + 1, 0);}//6.关闭套接字closesocketclosesocket(client);closesocket(_sock);//清楚windows socket环境WSACleanup();system("pause");return 0;
}

六步创建TCP服务端相关推荐

  1. ESP32学习笔记(9)——TCP服务端

    一.TCP与UDP优缺点 1.TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接. 2.TCP提供可靠的服务.也就是说,通过TCP连接传送的数据,无差错,不丢失 ...

  2. TCP服务端程序开发

    TCP服务端程序开发 1. 开发 TCP 服务端程序开发步骤回顾 创建服务端端套接字对象 绑定端口号 设置监听 等待接受客户端的连接请求 接收数据 发送数据 关闭套接字 2. socket 类的介绍 ...

  3. 四步创建TCP客户端

    //四步简历TCP服务端 #include<iostream> #include<Windows.h> using namespace std;int main() {//初始 ...

  4. 网络编程之TCP服务端程序开发

    TCP服务端程序开发 学习目标 能够写出TCP服务端应用程序接收和发送消息 1. 开发 TCP 服务端程序开发步骤回顾 创建服务端端套接字对象 绑定端口号 设置监听 等待接受客户端的连接请求 接收数据 ...

  5. Qt 的 tcp服务端讲解

    TCP TCP : (Tramsmission Control Protocl)传输控制协议,一种面向连接的,可靠的,基于字节流的传输层通信协议. 本文目标 实现一个简单的服务器,可以接受客户端的信息 ...

  6. pythontcp服务器如何关闭阻塞_python实现单线程多任务非阻塞TCP服务端

    本文实例为大家分享了python实现单线程多任务非阻塞TCP服务端的具体代码,供大家参考,具体内容如下 # coding:utf-8 from socket import * # 1.创建服务器soc ...

  7. Qt 多线程TCP服务端一键关闭所有客户端

    Qt 多线程TCP服务端一键关闭所有客户端 任务描述: 实现多线程TCP服务端一键关闭所有客户端的连接. 解决过程: 1.Qt的服务端提供了close的功能,但是只用来不响应新接入的客户端. 手册中是 ...

  8. Qt多线程 TCP 服务端

    Qt实现 多线程 TCP 服务端 因为项目中要用到TCP客户端的并发处理,所以TCP服务端用多线程去实现是必要的.于是花了一大早上的时间写了一各Demo 如图: 主要关键代码: 关于线程的处理.关于线 ...

  9. 为什么TCP服务端需要调用bind函数而客户端通常不需要呢

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 那一年, ...

最新文章

  1. 5.7版本mysql操做语法_mysql-5.7.25安装及常用语法
  2. SAP WM MIGO移动类型311转库过账后WM层面产生了Posting Change Notice?
  3. 在接触到服务器时破解密码、及改ssh端口
  4. Nature:大脑佛一点,活得久一点,这是哈佛医学院的最新研究
  5. 幽默感七个技巧_如何通过三招,让自己成为一个有幽默感的说话高手?
  6. 整理了一下linux/ubuntu里面卸载软件的方法
  7. 切换器黑屏_景阳华泰科技高清无缝矩阵切换器高端视频会议运用
  8. 区块链开发入门书籍和文档
  9. 为啥学蛇和python10年后的变化
  10. 后端的日期类型赋值前端表单_后端获取前端数据的四种方式
  11. python结巴分词代码_结巴分词Python代码
  12. 歌声合成:mid与xml 乐谱文件解析(3)
  13. 脑智前沿科普:脑深部电刺激治疗帕金森病的原理
  14. CentOs7下Zabbix安装教程——准备工作
  15. 全志F1C200S F1C100S 介绍
  16. Oracle之同义词
  17. 暴走英雄坛服务器维护到什么时候,暴走英雄坛在4月25日更新了什么 最新维护内容介绍...
  18. 关于js 中 try catch用法
  19. 04_Python简答题
  20. RFID不同频率下的应用场景及优缺点

热门文章

  1. 使用Java 8.0进行类型安全的依赖注入
  2. Spring Data Solr教程:查询方法
  3. 将Swagger与Spring Boot REST API集成
  4. 使用Spring boot,Thymeleaf,AngularJS从零开始构建一个新的Web应用程序-第1部分
  5. OpenMap教程第2部分–使用MapHandler构建基本地图应用程序–第1部分
  6. heroku_WhateverOrigin –与Heroku和Play对抗原产地政策! 构架
  7. RxJava + Java8 + Java EE 7 + Arquillian =幸福
  8. 您从未听说过的Java 8的10个功能
  9. Spring 3.2矩阵变量是什么? - 第1部分
  10. 使用Lucene的搜索服务器搜索Jira问题