访问Daytime服务的客户端(TCP)
首次使用“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)相关推荐
- 【Spring学习】RestTemplate访问Rest服务总结
RestTemplate是Spring提供的用于访问Rest服务的客户端,RestTemplate提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率.调用RestTemplate的 ...
- mysql服务器是否支持tcp/ip连接,(3)MySQL客户端与服务端的TCP/IP及socket连接方式-Go语言中文社区...
MySQL客户端与服务端的TCP/IP及socket连接方式 客户端与服务器模型 客户端与服务端模型 TCP/IP方式连接 解释说明 TCP/IP套接字方式是MySQL在任何平台下都提供的连接方式,也 ...
- TCP/IP网络编程之基于TCP的服务端/客户端(二)
回声客户端问题 上一章TCP/IP网络编程之基于TCP的服务端/客户端(一)中,我们解释了回声客户端所存在的问题,那么单单是客户端的问题,服务端没有任何问题?是的,服务端没有问题,现在先让我们回顾下服 ...
- TCP/IP网络编程之基于TCP的服务端/客户端(一)
TCP/IP网络编程之基于TCP的服务端/客户端(一) 理解TCP和UDP 根据数据传输方式的不同,基于网络协议的套接字一般分为TCP套接字和UDP套接字.因为TCP套接字是面向连接的,因此又称为基于 ...
- win10不用虚拟机部署伪分布式集群(服务部署+客户端访问)
其实吧,花太多时间在环境的部署上不值得,环境部署是运维的事,所以在没环境 的时候自己测试用 伪分布就可以了. 小白开工 1.打开win10 (确保连接了互联网), 2.鼠标左键单机开始按钮, 找到Mi ...
- tcp服务器 中转,TCP中转站TCP端口中转工具(服务端+客户端)
软件简介 Soft Introduction 服务端软件使用说明 TCP中转站服务端软件在压缩包的Tra nsferServer文件夹中,将压缩包解压后,首先编辑TransferServer.ini文 ...
- OAuth2授权客户端访问资源服务
OAuth客户端访问资源服务 一.简介 在单点登录一文,我们是通过注解@EnableOAuth2Sso实现单点登录的,我们了解到OAuth2获取token的方式是通过OAuth2RestOperati ...
- TCP聊天文件服务器v2.2 - 服务端客户端套接字解决分包/粘包问题 - SocketQueue继承以及减少冗余
TCP聊天+传输文件服务器服务器套接字v2.2 整个图当封面吧 所有版本记录: v1.0 : TCP聊天服务器套接字|PyQt5+socket(TCP端口映射+端口放行)+logging+Thread ...
- WCF 服务端+客户端动态调用
最近在写WCF服务相关代码,把项目中用到的通讯框架做了下整理,以备以后自己记忆. WCF服务端: 包含契约定义:WCF.Contract.契约实现:WCF.Service 以及宿主主程序:WcfSer ...
最新文章
- token验证失败_ASP.NET CORE WEBAPI JWT 带BEARER的TOKEN
- 安装 并且使用_房子装地暖还是墙暖暖气?使用过的人建议这样去选择!
- 每天一道笔试题-2012年2月16日
- JUnit单元测试用例
- 13-Introduction to security
- 2,Spring-mvc添加参数校验:避免参数格式不正确导致的400
- 使用摄像头录像后,需要删除系统缓存数据!
- Livebos--流程结束触发事件(修改表和表里的表格字段)
- Python的第三方库requests
- centos升级内核之后修改内核启动顺序
- 结合使用 Oracle Coherence 和 Spring Batch 进行高性能数据处理
- 品优购-01分布式框架-Dubbox
- 计算机程序设计流程图循环,流程图无限循环怎么画流程图循环结构怎么画
- MIPS指令集及汇编
- IT运维外包甩不掉的包袱
- android 源码导入android studio中(仿佛打开了新世界)
- Think In Java第四版读书笔记
- UED团队规范设计参考及建议
- 【社招】【邮储总行】软件研发中心2022年社招开发专场
- java xmap_XML和Java Bean的互相转换攻略 【XMAP】