Server-Side Flash: Scripts, Databases and Dynamic Development

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出版、作者信息和本声明。否则将追究法律责任。 http://blog.youkuaiyun.com/topmvp - topmvp

Server-Side Flash: Scripts, Databases, and Dynamic Development fills an important gap in the Flash book market. With the emergence of e-commerce, no Web site is complete without a back end because the back end is the virtual sales connection. Likewise, complex games are dependent on access to huge sets of data that can be sent in small packages, but getting them in and out of Flash requires knowing how the data can be generated in Flash, how it can be sent out to the servers and how it gets information back from the servers and integrates it into the ongoing game.

While every book on Flash recognizes this new capacity to some extent, none of them have really showed developers how to get the data into and out of Flash and use it effectively. Server-Side Flash gives developers the tools to fully utilize Flash's capacity to communicate with the server side of the Web. PHP/MySQL have over half a million users, ASP has at least as many, and just about every professional Web page now contains at least some JavaScript. Find out how Flash communicates with these other languages and servers with coverage of the use of Macromedia's powerful database Flash product, Generator, and put its use in context with other Flash database techniques and applications.


http://rapidshare.com/files/50310750/0764535986.rar
http://depositfiles.com/files/1554762
version: '3.7' services: server1: image: base-server container_name: server1 command: ["sh", "-c", "/scripts/start_services.sh"] environment: - VT_HOSTNAME=server1 - VT_TOPOLOGY=etcd:http://server1:2379 ports: - "15000:15000" - "15306:3306" networks: vitess-network: ipv4_address: 172.16.0.101 volumes: - ./scripts:/scripts - etcd-data:/var/lib/etcd # 修改挂载路径 server2: image: mysql-server container_name: server2 command: ["sh", "-c", "while ! nc -z server1 2379; do sleep 1; done; /scripts/init_master.sh"] environment: - VT_HOSTNAME=server2 - VT_TOPOLOGY=etcd:http://server1:2379 - VTDATAROOT=/vt/vtdataroot # 显式指定数据目录 networks: vitess-network: ipv4_address: 172.16.0.102 volumes: - ./scripts:/scripts - mysql-master:/vt/vtdataroot depends_on: - server1 server3: image: mysql-server container_name: server3 command: ["sh", "-c", "while ! nc -z server1 2379; do sleep 1; done; /scripts/init_replica.sh"] environment: - VT_HOSTNAME=server3 - VT_TOPOLOGY=etcd:http://server1:2379 - VTDATAROOT=/vt/vtdataroot networks: vitess-network: ipv4_address: 172.16.0.103 volumes: - ./scripts:/scripts - mysql-replica:/vt/vtdataroot depends_on: - server1 volumes: etcd-data: mysql-master: mysql-replica: networks: vitess-network: driver: bridge ipam: config: - subnet: 172.16.0.0/24 Dockerfile.base: FROM vitess/base USER root RUN chmod 777 /var/lib/etcd USER vitess Dockerfile.server: FROM vitess/base USER root RUN apt-get update && apt-get install -y netcat || yum install -y nc || apk add --no-cache gnu-netcat # 安装 etcdctl 和网络检测工具 RUN apt-get update && \ apt-get install -y curl && \ rm -rf /var/lib/apt/lists/* USER vitess start_services.sh: #!/bin/bash RUN apt-get update && apt-get install -y netcat || yum install -y nc || apk add --no-cache gnu-netcat # 启动 etcd、vtctld、vtgate etcd --data-dir /etcd & sleep 5 vtctld --topo_implementation etcd2 --topo_global_server_address http://localhost:2379 & vtgate --topo_implementation etcd2 --topo_global_server_address http://localhost:2379 --mysql_server_port 3306 & init_master.sh 和 init_replica.sh : #!/bin/bash # 启动 MySQL 从实例和 vttablet vttablet \ --topo_implementation etcd2 \ --topo_global_server_address server1:2379 \ --tablet-path "zone1-101" \ --init_keyspace "test_keyspace" \ --init_shard "0" \ --init_tablet_type "replica" \ --port 15002 \ --grpc_port 16002 \ --db_port 3306 2025-05-21 15:41:10.240 | /scripts/start_services.sh: line 3: RUN: command not found 2025-05-21 15:41:10.244 | /scripts/start_services.sh: line 3: yum: command not found 2025-05-21 15:41:10.248 | /scripts/start_services.sh: line 3: apk: command not found 2025-05-21 15:41:11.117 | {"level":"info","ts":"2025-05-21T07:41:11.109Z","caller":"etcdmain/etcd.go:73","msg":"Running: ","args":["etcd","--data-dir","/etcd"]} 2025-05-21 15:41:11.119 | {"level":"info","ts":"2025-05-21T07:41:11.117Z","caller":"embed/etcd.go:124","msg":"configuring peer listeners","listen-peer-urls":["http://localhost:2380"]} 2025-05-21 15:41:11.124 | {"level":"info","ts":"2025-05-21T07:41:11.124Z","caller":"embed/etcd.go:132","msg":"configuring client listeners","listen-client-urls":["http://localhost:2379"]} 2025-05-21 15:41:11.125 | {"level":"info","ts":"2025-05-21T07:41:11.125Z","caller":"embed/etcd.go:306","msg":"starting an etcd server","etcd-version":"3.5.6","git-sha":"cecbe35ce","go-version":"go1.16.15","go-os":"linux","go-arch":"amd64","max-cpu-set":12,"max-cpu-available":12,"member-initialized":false,"name":"default","data-dir":"/etcd","wal-dir":"","wal-dir-dedicated":"","member-dir":"/etcd/member","force-new-cluster":false,"heartbeat-interval":"100ms","election-timeout":"1s","initial-election-tick-advance":true,"snapshot-count":100000,"max-wals":5,"max-snapshots":5,"snapshot-catchup-entries":5000,"initial-advertise-peer-urls":["http://localhost:2380"],"listen-peer-urls":["http://localhost:2380"],"advertise-client-urls":["http://localhost:2379"],"listen-client-urls":["http://localhost:2379"],"listen-metrics-urls":[],"cors":["*"],"host-whitelist":["*"],"initial-cluster":"default=http://localhost:2380","initial-cluster-state":"new","initial-cluster-token":"etcd-cluster","quota-backend-bytes":2147483648,"max-request-bytes":1572864,"max-concurrent-streams":4294967295,"pre-vote":true,"initial-corrupt-check":false,"corrupt-check-time-interval":"0s","compact-check-time-enabled":false,"compact-check-time-interval":"1m0s","auto-compaction-mode":"periodic","auto-compaction-retention":"0s","auto-compaction-interval":"0s","discovery-url":"","discovery-proxy":"","downgrade-check-interval":"5s"} 2025-05-21 15:41:11.125 | {"level":"info","ts":"2025-05-21T07:41:11.125Z","caller":"embed/etcd.go:373","msg":"closing etcd server","name":"default","data-dir":"/etcd","advertise-peer-urls":["http://localhost:2380"],"advertise-client-urls":["http://localhost:2379"]} 2025-05-21 15:41:11.125 | {"level":"info","ts":"2025-05-21T07:41:11.125Z","caller":"embed/etcd.go:375","msg":"closed etcd server","name":"default","data-dir":"/etcd","advertise-peer-urls":["http://localhost:2380"],"advertise-client-urls":["http://localhost:2379"]} 2025-05-21 15:41:11.125 | {"level":"warn","ts":"2025-05-21T07:41:11.125Z","caller":"etcdmain/etcd.go:146","msg":"failed to start etcd","error":"cannot access data directory: mkdir /etcd: permission denied"} 2025-05-21 15:41:11.126 | {"level":"fatal","ts":"2025-05-21T07:41:11.125Z","caller":"etcdmain/etcd.go:204","msg":"discovery failed","error":"cannot access data directory: mkdir /etcd: permission denied","stacktrace":"go.etcd.io/etcd/server/v3/etcdmain.startEtcdOrProxyV2\n\tgo.etcd.io/etcd/server/v3/etcdmain/etcd.go:204\ngo.etcd.io/etcd/server/v3/etcdmain.Main\n\tgo.etcd.io/etcd/server/v3/etcdmain/main.go:40\nmain.main\n\tgo.etcd.io/etcd/server/v3/main.go:32\nruntime.main\n\truntime/proc.go:225"} nc: getaddrinfo for host "server1" port 2379: No address associated with hostname nc: getaddrinfo for host "server1" port 2379: No address associated with hostname nc: getaddrinfo for host "server1" port 2379: No address associated with hostname nc: getaddrinfo for host "server1" port 2379: No address associated with hostname nc: getaddrinfo for host "server1" port 2379: No address associated with hostname 启动失败
05-22
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值