当前位置: 首页 > news >正文

高效网站推广公司/个人博客seo

高效网站推广公司,个人博客seo,重庆所有做网站的公司,怎么在网站上打广告前日看到听风大哥的帖子<初学黑客编程(1)>&#xff0c;写的是windows下的C/S程序的简易示例代码&#xff0c;顿时有了感觉。以前在linux下写过&#xff0c;但是不知道如何去实际应用&#xff0c;便放在了一边。昨晚认真的拜读、改写了一下。今日记录下来&#xff0c;作为…

   前日看到听风大哥的帖子<初学黑客编程(1)>,写的是windows下的C/S程序的简易示例代码,顿时有了感觉。以前在linux下写过,但是不知道如何去实际应用,便放在了一边。昨晚认真的拜读、改写了一下。今日记录下来,作为保留。


   代码如下:


   服务端:

   

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
/*Service*/
#include <winsock2.h>    //初始化网络编程函数
#include <stdio.h>
#pragma comment(lib,"ws2_32")   //静态函数库的初始化
#define PORT 139                //这个是用端口扫描器扫描的结果中任选的一个
int main(int argc,char *argv[])
{
    system("cls");   //清屏
    //定义一个数据类型是DSADATA的wsaData的变量
    //wsaData结构被用来保存AfxSocketlnit函数返回的Windows Sockets初始化信息
    WSADATA wsaData;
    WORD sockVersion = MAKEWORD(2,2);
    //加载winsock库,初始化系统环境,以便以后关于网络的函数调用
    if(WSAStartup(sockVersion,&wsaData)!=0)
    {
        return -1;
    }
    //创建一个套接字,也就是我们的监听的端口
    SOCKET sListen = socket(PF_INET,SOCK_STREAM,IPPROTO_TCP);
    //判断创建是否成功,失败返回INVALID_SOCKET
    if(sListen == INVALID_SOCKET)
    {
        printf("socket error !\n");
        return -1;
    }
    //在sockaddr_in结构中装入地址信息
    sockaddr_in sin;
    sin.sin_family = PF_INET;
    sin.sin_port = htons(PORT);  //htons:将主机无符号短整型数转换成网络字节顺序
    sin.sin_addr.S_un.S_addr = INADDR_ANY;
    //套接字和本地地址绑定
    if(bind(sListen,(LPSOCKADDR)&sin,sizeof(sin))==SOCKET_ERROR)
    {
        printf("bind error !\n");
        closesocket(sListen);
        return -1;
    }
    //设置套接字进入监听模式
    if(listen(sListen,1)==SOCKET_ERROR)
    {
        printf("listen error !\n");
        closesocket(sListen);
        return -1;
    }
    //接受客户端的连接请求
    sockaddr_in remoteAddr;
    SOCKET sClient;
    int nAddrlen = sizeof(remoteAddr);
    char revData[255];
    printf("等待连接...");
    //接受一个新连接
    sClient = accept(sListen,(SOCKADDR *)&remoteAddr,&nAddrlen);
    if(sClient == INVALID_SOCKET)
    {
        printf("accept error !\n");
        closesocket(sListen);
        return -1;
    }
    //打印出连接者的ip
    printf("\n接收到一个连接:%s\r\n",inet_ntoa(remoteAddr.sin_addr));
    int flag = 1;
    while(flag)
    {
        //直到连接到有效数据才打印出来
        int ret = recv(sClient,revData,sizeof(revData),0);
                                                                                                                                                                                                                                                  
        if(ret > 0)
        {
            // 为防止打印出错,把字符串结尾设为0x00
            revData[ret] = 0x00;      
            printf("Client : ");
            printf("%s\n",revData);
        }
        if(strcmp(revData,"quit\0")==0)
        {
            closesocket(sClient);
                                                                                                                                                                                                                                                                  
            closesocket(sListen);
            WSACleanup();
            exit(0);
        }
        memset(revData,0,sizeof(revData));    //清空缓冲区
        char sendData[255];
        printf("Service :");
        scanf("%s",sendData);
        //发送数据
        send(sClient,sendData,sizeof(sendData),0);
                                                                                                                                                                                                                                                  
        if(strcmp(sendData,"quit\0")==0)
        {
            closesocket(sClient);
                                                                                                                                                                                                                                                                  
            closesocket(sListen);
            WSACleanup();
            exit(0);
        }
        memset(sendData,0,sizeof(sendData));    //清空缓冲区
    }
    closesocket(sListen);
    WSACleanup();
    return 0;
}
/*
    调试提示:开始-->运行-->输入"cmd"-->找到生成的xxx.exe程序所在路径-->输入:xxx  就可以了
*/


   客户端:

   

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
/*Client*/
#include <winsock2.h>
#include <stdio.h>
#pragma comment(lib,"ws2_32")
#define PORT 139                      //端口扫描结果任意选的一个,也可以自定义式用argv[2]参数,然后用bind()函数进行绑定
int main(int argc,char *argv[])
{
    system("cls");    //清屏
    WSADATA wsaData;
    WORD sockVersion = MAKEWORD(2,2);
    //加载winsock库
    if(WSAStartup(sockVersion,&wsaData)!=0)
    {
        return -1;
    }
    //创建套接字
    SOCKET sClient = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
    if(sClient == INVALID_SOCKET)
    {
        printf("socket error !\n");
        return -1;
    }
    //在sockaddr_in中装入服务器端的地址信息
    sockaddr_in servAddr;
    servAddr.sin_family = AF_INET;
    servAddr.sin_port = htons(PORT);
    servAddr.sin_addr.S_un.S_addr = inet_addr(argv[1]);
    //连接到服务器端
    if(connect(sClient,(sockaddr *)&servAddr,sizeof(servAddr))==SOCKET_ERROR)
    {
        printf("connect error !\n");
        closesocket(sClient);
        return -1;
    }
    printf("已连接到 : %s\n",argv[1]);
    int flag = 1;
    while(flag)
    {
        char sendData[255];
        printf("Client : ");
        scanf("%s",sendData);
        send(sClient,sendData,sizeof(sendData),0);
        if(strcmp(sendData,"quit\0")==0)
        {
            closesocket(sClient);
            WSACleanup();
            exit(0);
        }
        memset(sendData,0,sizeof(sendData));    //清空缓冲区
                                                                                                                                                                                                                                
        char revData[255];
        //直到接收到有效数据才打印出来
        int ret = recv(sClient,revData,sizeof(revData),0);
        if(strcmp(revData,"quit\0")==0)
        {
            closesocket(sClient);
            WSACleanup();
            exit(0);
        }
        if(ret > 0)
        {
            //为防止打印出错,字符串末尾加上0x00
            revData[ret] = 0x00;
            printf("Service : %s\n",revData);
        }
        memset(revData,0,sizeof(revData));    //清空缓冲区
    }
    closesocket(sClient);
    WSACleanup();
    return 0;
}
/*
    调试提示:开始-->运行-->输入"cmd"-->找到生成的xxx.exe程序所在路径-->输入:xxx 目标IP     就可以了
                                                                                                                                                                                                                                     
               <需要:服务端先开启,客户端再连接>
*/



   <编译环境:VC++ 6.0>


   客户端进行连接时,自己只实现了在一台电脑开两个端口进行对话,两台电脑之间试了几次未成功,实在不知道如何做。

   不满足于上面代码的简易,打算继续用进程进行改写一下,使之能够更人性化一些,结果发现windows下的进程创建并不是fork()函数那么简单,而是CreatProcess()函数,不知所云,没学过windows编程,只能暂时搁浅了。windows进程编程技术啊,一定得学会。不然以后能有啥发展前途。

   路漫漫其修远兮...吾将上下而求索。


   PS:初学黑客编程(1)帖子链接:

       http://bbs.51cto.com/thread-1048530-1.html


   


   享受阳光,享受生活。愿与大家共同进步。



本文转自 006玩命 51CTO博客,原文链接:http://blog.51cto.com/weiyuqingcheng/1377203,如需转载请自行联系原作者

http://www.jmfq.cn/news/4806343.html

相关文章:

  • 西宁网站建设方案/手机百度一下
  • 品牌网站大全/企业管理培训课程
  • 做网站百度收费吗/怎么进行网站关键词优化
  • 北京哪家做网站优化/免费网站制作教程
  • seo针对网站做策划/2023推广平台
  • 高要网站建设公司/电商关键词工具
  • 网站建设工作室制作平台/注册公司网上申请入口
  • 非凡网站建设 新三板/网站ip查询
  • 网站建设倒计时代码/今日微博热搜榜前十名
  • 做公司网站哪个好/公司推广方法有哪些
  • 深圳网站建设大公司/seo外链建设的方法
  • 网站建设服务费/买卖平台
  • 学校网站建设源代码/上海网站快速排名提升
  • 织梦手机网站模板/模板建站常规流程
  • 呼和浩特市手机网站/推广普通话手抄报模板
  • 南山做网站的公司/网店无货源怎么做
  • 网站建设 利润/2024年新冠第三波症状分析
  • 企业网站建设资金预算表/郭生b如何优化网站
  • 沈阳手机网站制作/深圳seo外包公司
  • 下载百度导航app/佳木斯seo
  • 玉田建设局网站/网站推广网络营销
  • 网站接口怎么做/全球网站排行榜
  • 高端网站建设 骆诗/百度知道一下首页
  • 网站开发待遇怎么样/百度指数功能有哪些
  • 上海营销型企业网站/app网络推广公司
  • microsoft做网站/网络营销整合推广
  • 网站关键词优化排名技巧/推广平台网站有哪些
  • 辽宁建设工程信息网查询系统/短视频seo公司
  • 网站开发ppt转h5/南京搜索引擎推广优化
  • 专门做定制化的网站/网页制作代码