首次使用“winsock.in”可能导致部分函数不可用,解决方法参考博客

/*TCPdaytime*/
#include<cstdlib>
#include<cstdio>
#include<winsock.h>
#include<string>using namespace std;void TCPdaytime(const char*,const char*);
void errexit(const char*,...);
SOCKET connectTCP(const char*, const char*);#define LINELEN 128
#define WSVERS MAKEWORD(2,0)
/*
main - TCP client for DAYTIME serive
*/
int main(int argc, char* argv[])
{string host = "localhost";      //客户端和服务器端位于同一主机string service = "daytime";  //标准服务名WSADATA wsadata;switch (argc){case 1:host = "localhost";break;case 3:service = argv[2];/* FALL THROUGH */case 2:host = argv[1];break;default:fprintf(stderr, "usage:TCPdaytime [host [port]]\n");exit(1);}if (WSAStartup(WSVERS, &wsadata) != 0) //Win环境下建立套接字必须先调用//errexit("WSAStartup failed\n");TCPdaytime(host.c_str(), service.c_str()); //完成时间请求服务WSACleanup();return 0;
}
/*
TCPdaytime - invoke Daytime on specified host and print results
*/void TCPdaytime(const char* host, const char* service)
{char buf[LINELEN + 1];    //buffer for one line of textSOCKET s;              //socket descriptorint cc;                  //recv character counts = connectTCP(host, service);       //创建TCP套接字并于服务器连接cc = recv(s, buf, LINELEN, 0);        //完成数据接受while (cc != SOCKET_ERROR and cc > 0){buf[cc] = '\0';(void)fputs(buf, stdout);cc = recv(s, buf, LINELEN, 0);}closesocket(s);
}

参考MOOC上哈尔滨工业大学的计算机网络公开课

访问Daytime服务的客户端(TCP)相关推荐

  1. 【Spring学习】RestTemplate访问Rest服务总结

    RestTemplate是Spring提供的用于访问Rest服务的客户端,RestTemplate提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率.调用RestTemplate的 ...

  2. mysql服务器是否支持tcp/ip连接,(3)MySQL客户端与服务端的TCP/IP及socket连接方式-Go语言中文社区...

    MySQL客户端与服务端的TCP/IP及socket连接方式 客户端与服务器模型 客户端与服务端模型 TCP/IP方式连接 解释说明 TCP/IP套接字方式是MySQL在任何平台下都提供的连接方式,也 ...

  3. TCP/IP网络编程之基于TCP的服务端/客户端(二)

    回声客户端问题 上一章TCP/IP网络编程之基于TCP的服务端/客户端(一)中,我们解释了回声客户端所存在的问题,那么单单是客户端的问题,服务端没有任何问题?是的,服务端没有问题,现在先让我们回顾下服 ...

  4. TCP/IP网络编程之基于TCP的服务端/客户端(一)

    TCP/IP网络编程之基于TCP的服务端/客户端(一) 理解TCP和UDP 根据数据传输方式的不同,基于网络协议的套接字一般分为TCP套接字和UDP套接字.因为TCP套接字是面向连接的,因此又称为基于 ...

  5. win10不用虚拟机部署伪分布式集群(服务部署+客户端访问)

    其实吧,花太多时间在环境的部署上不值得,环境部署是运维的事,所以在没环境 的时候自己测试用 伪分布就可以了. 小白开工 1.打开win10 (确保连接了互联网), 2.鼠标左键单机开始按钮, 找到Mi ...

  6. tcp服务器 中转,TCP中转站TCP端口中转工具(服务端+客户端)

    软件简介 Soft Introduction 服务端软件使用说明 TCP中转站服务端软件在压缩包的Tra nsferServer文件夹中,将压缩包解压后,首先编辑TransferServer.ini文 ...

  7. OAuth2授权客户端访问资源服务

    OAuth客户端访问资源服务 一.简介 在单点登录一文,我们是通过注解@EnableOAuth2Sso实现单点登录的,我们了解到OAuth2获取token的方式是通过OAuth2RestOperati ...

  8. TCP聊天文件服务器v2.2 - 服务端客户端套接字解决分包/粘包问题 - SocketQueue继承以及减少冗余

    TCP聊天+传输文件服务器服务器套接字v2.2 整个图当封面吧 所有版本记录: v1.0 : TCP聊天服务器套接字|PyQt5+socket(TCP端口映射+端口放行)+logging+Thread ...

  9. WCF 服务端+客户端动态调用

    最近在写WCF服务相关代码,把项目中用到的通讯框架做了下整理,以备以后自己记忆. WCF服务端: 包含契约定义:WCF.Contract.契约实现:WCF.Service 以及宿主主程序:WcfSer ...

最新文章

  1. token验证失败_ASP.NET CORE WEBAPI JWT 带BEARER的TOKEN
  2. 安装 并且使用_房子装地暖还是墙暖暖气?使用过的人建议这样去选择!
  3. 每天一道笔试题-2012年2月16日
  4. JUnit单元测试用例
  5. 13-Introduction to security
  6. 2,Spring-mvc添加参数校验:避免参数格式不正确导致的400
  7. 使用摄像头录像后,需要删除系统缓存数据!
  8. Livebos--流程结束触发事件(修改表和表里的表格字段)
  9. Python的第三方库requests
  10. centos升级内核之后修改内核启动顺序
  11. 结合使用 Oracle Coherence 和 Spring Batch 进行高性能数据处理
  12. 品优购-01分布式框架-Dubbox
  13. 计算机程序设计流程图循环,流程图无限循环怎么画流程图循环结构怎么画
  14. MIPS指令集及汇编
  15. IT运维外包甩不掉的包袱
  16. android 源码导入android studio中(仿佛打开了新世界)
  17. Think In Java第四版读书笔记
  18. UED团队规范设计参考及建议
  19. 【社招】【邮储总行】软件研发中心2022年社招开发专场
  20. java xmap_XML和Java Bean的互相转换攻略 【XMAP】

热门文章

  1. HP喷墨打印机真空加墨的方法
  2. 2021年施工升降机司机(建筑特殊工种)考试题及施工升降机司机(建筑特殊工种)找解析
  3. 2013年第四届C/C++ A组蓝桥杯省赛真题
  4. 【R语言】常用基本函数
  5. 学习:C# 中的委托和事件(转)
  6. 新技能get,支付宝赚钱红包一天收入过百
  7. 第一章 接口测试基础
  8. linux 进入mysql
  9. Hive数据库创建表
  10. django模型类中,为什不是user_id而是user?