socket编程实验SOCKET编程

socket编程实验  时间:2021-08-18  阅读:()

socket编程的原理呢?

(1)客户端

①建立客户端的Socket,确定要连接的服务器的主机名和端口。

②发送连接请求到服务器,并等待服务器的回馈信息。

③连接成功后,与服务器进行数据的交互。

④数据处理完毕后,关闭自身的Socket连接

(2)服务器端

①建立服务器端的Socket,开始侦听整个网络中的连接请求。

②当检测到来自客户端的连接请求时,向客户端发送收到连接请求的信息,并建立与客户端之间的连接。

③当完成通信后,服务器关闭与客户端的Socket连接。

老师给了socket编程实验的client,server两个程序代码的实例,但是下载下来之后不懂怎么运行。

别用VC环境 = =VC的环境都十年前的东西了。

WINSOCK2是近4.5年才出来的。

要么你配置下个WinSock2.h,要么换个环境,要么就改下代码用winsock.h

SOCKET编程

#include <string.h> #include <winsock.h> #include <windows.h> #include <iostream.h> #ment (lib,"ws2_32.lib") int main (int argc, char *argv[]) { int iportFrom,iportTo; int testsocket; int iopenedport = 0; struct sockaddr_in target_addr; WSADATA wsaData; WORD wVersionRequested=MAKEWORD(1,1); if (argc <= 3) { cout << "使用格式 : " << argv[0] << " 主机IP地址 开始端口号 结束端口号 " << endl; exit(1); } if (atoi (argv[2]) > atoi (argv[3])) { cout << "错误!开始端口号必须小于结束端口号" << endl; exit(1); } else { if (WSAStartup (wVersionRequested , &wsaData) ) { cout << "连接socket库失败,请检查版本号是否为1.1 " << endl; exit(1); } iportFrom=atoi (argv[2]); iportTo=atoi (argv[3]); for (int i=iportFrom; i <= iportTo; i++) { cout << "正在建立socket................................" << endl; if ((testsocket=socket (AF_INET,SOCK_STREAM,0) ) == INVALID_SOCKET) { cout << "Socket建立失败!" << endl; exit(0); } target_addr.sin_family = AF_INET; target_addr.sin_port = htons(i); target_addr.sin_addr.s_addr = _addr (argv[1]); cout << "正在扫描端口:" << i << endl; if (connect (testsocket, (struct sockaddr *) &target_addr, sizeof(struct sockaddr)) == SOCKET_ERROR) cout << "端口" << i << "关闭!" << endl; else { iopenedport++; cout << "端口" << i << "开放 " << endl; } } cout << "目标主机" << argv[1] << "从" << iportFrom << "--" << iportTo << "共有" << iopenedport << "个端口开放" << endl; closesocket (testsocket); WSACleanup(); } return 0; } vc6.0 下 编译

ZJI:台湾CN2/香港高主频服务器7折每月595元起,其他全场8折

ZJI原名维翔主机,是原来Wordpress圈知名主机商家,成立于2011年,2018年9月更名为ZJI,提供香港、日本、美国独立服务器(自营/数据中心直营)租用及VDS、虚拟主机空间、域名注册业务。ZJI今年全新上架了台湾CN2线路服务器,本月针对香港高主频服务器和台湾CN2服务器提供7折优惠码,其他机房及产品提供8折优惠码,优惠后台湾CN2线路E5服务器月付595元起。台湾一型CPU:Inte...

HostHatch(15美元)大硬盘VPS,香港NVMe,美国、英国、荷兰、印度、挪威、澳大利亚

HostHatch在当地时间7月30日发布了一系列的促销套餐,涉及亚洲和欧美的多个地区机房,最低年付15美元起,一次买2年还能免费升级双倍资源。商家成立于2011年,提供基于KVM架构的VPS主机,数据中心包括中国香港、美国、英国、荷兰、印度、挪威、澳大利亚等国家的十几个地区机房。官方网站:https://hosthatch.com/NVMe VPS(香港/悉尼)1 CPU core (12.5%...

数脉科技:阿里云香港CN2线路服务器;E3-1230v2/16G/240G SSD/10Mbps/3IP,月付374元

数脉科技怎么样?昨天看到数脉科技发布了7月优惠,如果你想购买香港服务器,可以看看他家的产品,性价比还是非常高的。数脉科技对香港自营机房的香港服务器进行超低价促销,可选择10M、30M的优质bgp网络。目前商家有优质BGP、CN2、阿里云线路,国内用户用来做站非常不错,目前E3/16GB阿里云CN2线路的套餐有一个立减400元的优惠,有需要的朋友可以看看。点击进入:数脉科技商家官方网站香港特价阿里云...

socket编程实验为你推荐
visio使用教程怎样使用visio画E-R图数据管理制度简述系统运行管理制度的主要内容阶乘函数用函数求阶乘的C语言充值卡充值移动如何用充值卡充话费好用的手机杀毒软件大家都在用什么手机杀毒软件?哪个最好用?微信收费微信平台是否要收费如何收费印度it印度IT业与中国IT业的差异?深度剖析!免杀远控求最新的免杀远控 收费没关系 主要是实用 键盘记录 屏幕控制 功能多得 骗子别来找骂jsharejshare里拓荒者是什么?- -眼镜片品牌什么牌子近视镜片好?
什么是虚拟主机 apache虚拟主机 域名主机空间 VPS之家 中文域名交易中心 日本软银 美国翻墙 安云加速器 国外服务器 rak机房 typecho 亚洲小于500m 什么是刀片服务器 老左正传 静态空间 qq对话框 服务器干什么用的 ca187 linode支付宝 路由跟踪 更多