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

云俄罗斯VPSJusthost俄罗斯VPS云服务器justg:JustHost、RuVDS、JustG等俄罗斯vps主机

俄罗斯vps云服务器商家推荐!俄罗斯VPS,也叫毛子主机(毛子vps),因为俄罗斯离中国大陆比较近,所以俄罗斯VPS的延迟会比较低,国内用户也不少,例如新西伯利亚机房和莫斯科机房都是比较热门的俄罗斯机房。这里为大家整理推荐一些好用的俄罗斯VPS云服务器,这里主要推荐这三家:justhost、ruvds、justg等俄罗斯vps主机,方便大家对比购买适合自己的俄罗斯VPS。一、俄罗斯VPS介绍俄罗斯...

阿里云年中活动最后一周 - ECS共享型N4 2G1M年付59元

以前我们在参与到云服务商促销活动的时候周期基本是一周时间,而如今我们会看到无论是云服务商还是电商活动基本上周期都要有超过一个月,所以我们有一些网友习惯在活动结束之前看看商家是不是有最后的促销活动吸引力的,比如有看到阿里云年中活动最后一周,如果我们有需要云服务器的可以看看。在前面的文章中(阿里云新人福利选择共享性N4云服务器年79.86元且送2月数据库),(LAOZUO.ORG)有提到阿里云今年的云...

SpinServers(月89美元) 2*e5-2630L v2,美国独立服务器

SpinServers服务商也不算是老牌的服务商,商家看介绍是是2018年成立的主机品牌,隶属于Majestic Hosting Solutions LLC旗下。商家主要经营独立服务器租用和Hybrid Dedicated服务器等,目前包含的数据中心在美国达拉斯、圣何塞机房,自有硬件和IP资源等,商家还自定义支持用户IP广播到机房。看到SpinServers推出了美国独服的夏季优惠促销活动,最低月...

socket编程实验为你推荐
excel通配符谁能详细解释一下EXCEL里通配符及符号的意义?wizardryHogwarts for pikeys是什么意思???手机壳生产厂家手机保护套保护壳厂家dreamweaver序列号DW序列号是多少啊比特币官方客户端比特币钱包官方客户端地址是什么?wifi快速破解器电脑版wifi万能钥匙电脑版怎么破解密码网页错误详细信息打开网页,出现网页错误详细信息 求解决,谢了!网页错误详细信息网页错误详细信息 消息: 'this._self.style' 为空或不是对象没有nvidia控制面板没有nvidia控制面板怎么切换显卡无线呼叫系统无线呼叫对讲器系统哪个牌子好?
网站空间商 花生壳免费域名申请 最便宜虚拟主机 cpanel主机 天猫双十一秒杀 tightvnc 毫秒英文 工作站服务器 cdn加速是什么 吉林铁通 新世界服务器 江苏双线服务器 vul lamp是什么意思 测试网速命令 博客域名 hdchina japanese50m咸熟 腾讯服务器 亿库 更多