谁有美少女万华镜2汉化pc资源,手机版求已汉化

2140人阅读
golang(18)
& & Although PhantomJS version 1.9 does have WebSocket support, that support is limited to the hixie-76 draft of the protocol. PhantomJS 2.0 is scheduled to include the more modern RFC 6455 version of WebSockets. When writing scripts for PhantomJS that intend
to use WebSocket connections, we must ensure that the server supports the hixie-76 version of the protocol.
package main
&/p/go.net/websocket&
&/garyburd/redigo/redis&
//&/davecgh/go-spew/spew&
&crypto/md5&
&encoding/hex&
&net/http&
const PS = string(os.PathSeparator)
const PH = &/&
= os.Getwd()
= websocket.JSON
= websocket.Message
ActiveClients = make(map[ClientConn]int64)
redis_host
*redis.Pool
Upload_Dir
type ClientConn struct {
websocket *websocket.Conn
func init() {
f, err := os.Open(&config&)
if err != nil {
panic(err)
defer f.Close()
buf := bufio.NewReader(f)
line, err := buf.ReadString('\n')
if err != nil || io.EOF == err {
panic(err)
redis_host = strings.TrimSpace(line)
rdPool = initRedis(redis_host)
line, err = buf.ReadString('\n')
if err != nil || io.EOF == err {
panic(err)
Upload_Dir = strings.TrimSpace(line)
func SockServer(ws *websocket.Conn) {
var err error
var clientMessage string
var serverMessage string
defer func() {
if err = ws.Close(); err != nil {
pp(&Websocket could not be closed&, err.Error())
client := ws.Request().RemoteAddr
pp(&Client connected:&, client)
sockClient := ClientConn{ws, client}
ActiveClients[sockClient] = time.Now().Unix()
pp(&Number of clients connected:&, len(ActiveClients))
err = Message.Receive(ws, &clientMessage)
if err != nil {
pp(&Websocket Disconnected waiting&, err.Error())
delete(ActiveClients, sockClient)
pp(&Number of clients still connected:&, len(ActiveClients))
clientMessage = &&
if clientMessage == &GET& {
ret, err := redis.Strings(RedisExec(rdPool.Get(), &BLPOP&, &screenshot:queue&, 30))
if len(ret) == 2 && err == nil {
url := ret[1]
h := md5.New()
h.Write([]byte(url))
name := hex.EncodeToString(h.Sum(nil))
subDir := strconv.Itoa(time.Now().Year()) + PS + strconv.Itoa(int(time.Now().Month()))
os.MkdirAll(Upload_Dir+subDir, 0777)
filename_full := Upload_Dir + subDir + PS + name
serverMessage = filename_full + &|& + url
pp(&pop queue ok.&, client, serverMessage)
if err = Message.Send(ws, serverMessage); err != nil {
pp(&Could not send message to &, client, err.Error())
p(&pop queue error.&, client, err.Error())
if err = Message.Send(ws, &NULL&); err != nil {
pp(&Could not send message to &, client, err.Error())
} else if clientMessage == &OPEN& {
if err = Message.Send(ws, &OPEN&); err != nil {
pp(&Could not send message to &, client, err.Error())
clientMessage = &&
func main() {
http.Handle(&/socket&, websocket.Handler(SockServer))
err := http.ListenAndServe(&127.0.0.1:9527&, nil)
if err != nil {
panic(&ListenAndServe: & + err.Error())
phantomjs起多进程的,做一个服务器端screenshot的service非常简单,关键部分代码如下:
var page = require('webpage').create(),
system = require('system'),
address, output,
var loop = function() {
var ws = new WebSocket(&ws://127.0.0.1:9527/socket&);
ws.onopen = function(evt){
ws.send('OPEN');
//ws.send('GET');
console.log(&Opened.&);
ws.onclose = function(evt){
console.log(&Closed.&);
window.setTimeout(loop, 60000);
ws.onmessage = function(evt){
console.log(&Message:&+ evt.data);
//ws.send(evt.data);
if(evt.data!= && && evt.data!= &OPEN&){
arr= evt.data.split('|');
if (arr.length== 2){
name= arr[0]+ &.png&;
url= arr[1];
screenshot(url, name, &&);
ws.send('GET');
ws.onerror = function(evt){
console.log(&Error.& + evt.data);
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:66009次
积分:1321
积分:1321
排名:千里之外
原创:65篇
评论:33条
(1)(1)(1)(3)(1)(1)(4)(1)(1)(1)(2)(2)(1)(1)(1)(7)(3)(1)(2)(5)(6)(19)&&国之画&&&& &&&&&&
&& &&&&&&&&&&&&&&
鲁ICP备号-4
打开技术之扣,分享程序人生!How can I send input via client to PhantomJS / SlimerJS?
| Go语言中文网 | Golang中文社区 | Golang中国
<meta name="author" content="polaris ">
How can I send input via client to PhantomJS / SlimerJS?
How can I send input via client to PhantomJS / SlimerJS?
&p&I made a webcrawler in Go to get all links from a site. Now I need to send every url via client to a PJS / SJS webserver, so that the webserver can do stuff with the link.&/p&
&p&Working local on my machine does not work, PhantomJS 1.9.8 and 2.0 are crashing without reasons when they crawl too many urls in their own script (sequentially, no RAM problems, page.close() after every page.open()) and SlimerJS has no function to read a file line by line, it&#39;s not implemented yet sadly).&/p&
&p&So my only hope is to use a client/server way to send every url as an own request in the hope that it doesn&#39;t crash.&/p&
&p&I don&#39;t find a way to send a simple string, the webserver is listening on 127.0.0.1:8080, but how do I send something to it?&/p&
&hr/&**评论:**&br/&&br/&FIuffyRabbit: &pre&&p&You can use go to send a post/get request to your phantomJS app. &/p&&/pre&
支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
支持 @ 本站用户;支持表情(输入 : 提示),见
记住登录状态
还不是会员

我要回帖

更多关于 脸肿女万华镜汉化补丁 的文章

 

随机推荐