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 下 编译

香港CN2云服务器 1核 2G 35元/月 妮妮云

妮妮云的来历妮妮云是 789 陈总 张总 三方共同投资建立的网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑妮妮云的市场定位妮妮云主要代理市场稳定速度的云服务器产品,避免新手购买云服务器的时候众多商家不知道如何选择,妮妮云就帮你选择好了产品,无需承担购买风险,不用担心出现被跑路 被诈骗的情况。妮妮云的售后保证妮妮云退款 通过于合作商的友好协商,云服务器提供2天内全额退款到网站余额,超过2天...

RackNerd 2022春节促销提供三款年付套餐 低至年付10.88美元

RackNerd 商家我们应该是比较熟悉的商家,速度一般,但是人家便宜且可选机房也是比较多的,较多集中在美国机房。包括前面的新年元旦促销的时候有提供年付10美元左右的方案,实际上RackNerd商家的营销策略也是如此,每逢节日都有活动,配置简单变化,价格基本差不多,所以我们网友看到没有必要囤货,有需要就选择。RackNerd 商家这次2022农历新年也是有几款年付套餐。低至RackNerd VPS...

速云:广州移动/深圳移动/广东联通/香港HKT等VDS,9折优惠,最低月付9元;深圳独立服务器1050元/首月起

速云怎么样?速云,国人商家,提供广州移动、深圳移动、广州茂名联通、香港hkt等VDS和独立服务器。现在暑期限时特惠,力度大。广州移动/深圳移动/广东联通/香港HKT等9折优惠,最低月付9元;暑期特惠,带宽、流量翻倍,深港mplc免费试用!点击进入:速云官方网站地址速云优惠码:全场9折优惠码:summer速云优惠活动:活动期间,所有地区所有配置可享受9折优惠,深圳/广州地区流量计费VDS可选择流量翻...

socket编程实验为你推荐
微信红包图片怎么发微信要红包图片豆瓣fm电台豆瓣有个电台 是专门读一些好听的文章的 怎么找不到了高质量图片怎么高品质地保存图片好用的手机杀毒软件大家都在用什么手机杀毒软件?哪个最好用?软件群发有谁用过微信能群发的软件吗?在哪买的?dreamweaver序列号DW序列号是多少啊blacken“人非圣贤孰能无过”用英语怎么说廖华rcd后的中性线可以接地对吗 南京廖华没有nvidia控制面板没有nvidia控制面板有什么用移动硬盘提示格式化移动硬盘打不开,提示需要格式化
域名邮箱 深圳域名注册 电信测速器 blackfriday 国外idc 韩国电信 godaddy域名转出 南昌服务器托管 qq数据库下载 中国电信测速112 如何登陆阿里云邮箱 卡巴斯基试用版下载 网络速度 重庆联通服务器托管 globalsign 压力测试工具 paypal兑换 六维空间登陆首页 linuxweb服务器 创梦天地 更多