zoukankan      html  css  js  c++  java
  • 简单的flash策略文件服务器!

    最近在做一个flash小游戏,
    众所周知,flash连接服务器socket的时候,需要向服务器请求策略文件。
    以下是一个简单的策略文件服务器的代码c++:

     1 #include <Winsock2.h>
     2 #include <stdio.h>
     3 #pragma comment(lib,"WS2_32.lib")
     4 #define _CRT_SECURE_NO_WARNINGS
     5 void main()
     6 {
     7     WSADATA wsd;
     8     SOCKET server;                                            //服务器socket
     9     SOCKADDR_IN addrSrv;
    10     SOCKADDR_IN addrClient;
    11     SOCKET client;                                            //连接的客户端socket
    12     char szPolicy[1024] = "";
    13     strcat_s(szPolicy, 1024, "<?xml version='1.0'?>");
    14     strcat_s(szPolicy, 1024, "<cross-domain-policy>");
    15     strcat_s(szPolicy, 1024, "<site-control permitted-cross-domain-policies='all'/>");
    16     strcat_s(szPolicy, 1024, "<allow-access-from domain='*' to-ports='*'/>");
    17     strcat_s(szPolicy, 1024, "</cross-domain-policy>");
    18     int len;
    19     if (WSAStartup(MAKEWORD(2, 2), &wsd) != 0)
    20     {
    21         printf("start up failed!
    ");
    22         return;
    23     }
    24     server = socket(AF_INET, SOCK_STREAM, 0);                    //创建socket
    25     addrSrv.sin_addr.S_un.S_addr = htonl(INADDR_ANY);            //设置地址
    26     addrSrv.sin_family = AF_INET;
    27     addrSrv.sin_port = htons(843);                            //设置端口号
    28     bind(server, (SOCKADDR*)&addrSrv, sizeof(SOCKADDR));        //绑定
    29     printf("flash策略文件服务器已启动!
    ");    
    30     
    31     listen(server, 5);                                        //设置最多连接数
    32     int count = 0;
    33     len = sizeof(SOCKADDR);
    34     while (1)
    35     {
    36         client = accept(server, (SOCKADDR*)&addrClient, &len);    //接收客户端连接
    37         char buff[1024] = "";        
    38         recv(client, buff, 1024, 0);        
    39         szPolicy[strlen(szPolicy)] = '';
    40         send(client, szPolicy, strlen(szPolicy), 0);        
    41         closesocket(client);
    42         count++;
    43         printf("已成功返回%d个客户端!", count);
    44     }
    45     WSACleanup();
    46 }
  • 相关阅读:
    python's twenty eithth day for me 模块和包
    python's twenty-seventh day for me 模
    python's twenty-sixth day for me 模块
    python's twenty-fifth day for me 模块
    python's twenty_fourth day for me 内置方法
    python's twenty-third day for me 面向对象进阶
    python's twenty-second day for me 封装,property方法
    python's twenty-first day for me 抽象类和接口类以及多态
    字典
    元组(tuple)基本操作
  • 原文地址:https://www.cnblogs.com/elephant-x/p/3958873.html
Copyright © 2011-2022 走看看