在Debian服务器上,我安装了Node.js. 我了解如何使用此命令行从putty启动应用程序:
node /srv/www/MyUserAccount/server/server.js
Run Code Online (Sandbox Code Playgroud)
并在地址50.51.52.53:8080(IP和端口)上找到它.
但是一旦我关闭腻子,我就再也无法到达地址50.51.52.53:8080了.
如何使Node.js应用程序永久运行?
你可以猜到,我是Linux和Node.js的初学者.
我已经阅读了这个问题,但它并没有完全回答我的问题.不幸的是,自从我上次查看AJAX以来,看起来XHR对象中的内容发生了变化,因此responseText在完成填充之前不再可以直接访问.
我必须编写一个使用AJAX(最好是jQuery,但我愿意接受建议)的页面来从我无法控制的服务器通过HTTP检索CSV数据.响应数据可能非常大; 一兆字节的文本并不少见.
服务器是流友好的.是否有任何方法可以直接从JavaScript返回数据流?
我可以选择编写一些生活在中间的PHP代码并使用某种"Comet"技术(长轮询,EventSource等),但我希望尽可能避免这种情况.
如果它是相关的,假设这个问题用户有最新版本的Firefox/Chrome/Opera和旧的浏览器兼容性不是问题.
我有一个来自ajax请求的以下JSON响应.
var json = {
"response": {
"freeOfChargeProduct": {
"description": "Product",
"orderQty": 5,
"productName": "XYZ",
"qty": 6,
"details": {
"price": 55.5,
"instock": "true",
"focQuantity": 1
}
},
"orderLineId": 4788,
"totalOrderLinePrice": "741.36",
"totalOrderPrice": "1,314.92",
"totalQty": 17
};
Run Code Online (Sandbox Code Playgroud)
JSON并不总是返回"freeOfChargeProduct"属性.因此,如果我想获得"freeOfChargeProduct"价格,那么我必须执行以下操作:
var getFreeOfChargeProductPrice = function() {
var r = json.response;
if (r && r.freeOfChargeProduct && r.freeOfChargeProduct.details) {
return r.freeOfChargeProduct.details.price;
}
return null;
};
Run Code Online (Sandbox Code Playgroud)
没问题.但是检查对象中的每个属性都非常烦人,因此我创建了一个函数来检查对象中的属性是否已定义.
var getValue = function (str, context) {
var scope = context || window,
properties = str.split('.'), i;
for(i = 0; …Run Code Online (Sandbox Code Playgroud) 我创建一个UITextView,向其添加文本,并将其放在视图中(带有容器)
UITextView *lyricView = [[UITextView alloc] initWithFrame:screen];
lyricView.text = [NSString stringWithFormat:@"\n\n%@\n\n\n\n\n\n", lyrics];
[container addSubview:lyricView];
[self.view addSubview:container];
Run Code Online (Sandbox Code Playgroud)
然后我获得它的大小以便与按钮一起使用并将其添加到UITextView
CGRect size = [lyrics boundingRectWithSize:CGSizeMake(lyricView.frame.size.width, MAXFLOAT)
options:NSStringDrawingUsesLineFragmentOrigin
attributes:@{NSFontAttributeName:[lyricView font]}
context:nil];
UIButton *doneButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[doneButton setFrame:CGRectMake(56, size.size.height + 55, 208, 44)];
[doneButton setTitle:@"Done" forState:UIControlStateNormal];
[lyricView addSubview:doneButton];
Run Code Online (Sandbox Code Playgroud)
这适用于大多数情况.这将遵循\n换行符(就像我在stringWithFormat中添加的那样),但它不会尊重由文本视图自动添加的自动换行.因此,如果lyrics有一个不适合屏幕的行,UITextView将包装它(正如它应该的那样),但size现在比它应该略短,因为它不尊重文本视图包装.
我不确定如何理解socket.io中消息的用法.我正在尝试从客户端向服务器发送消息,然后服务器回复客户端(基本不是吗?).
这是服务器代码:
var fs = require('fs');
var hskey = fs.readFileSync('ssl.key');
var hscert = fs.readFileSync('ssl.crt');
var options = {
key: hskey,
cert: hscert
};
var app = require('https').createServer(options);
var io = require('/usr/local/lib/node_modules/socket.io').listen(app);
app.listen(8181);
io.sockets.on('connection', function (socket) {
socket.emit('serverMessage', 'Hello world!');
io.sockets.emit('serverMessage', 'A user connected');
io.sockets.on('clientMessage', function (socket) {
socket.emit('serverMessage', 'Gotamessage bitch!');
console.log('I received a message by ', from, ' saying ', msg);
});
socket.on('disconnect', function () {
io.sockets.emit('serverMessage', 'A user disconnected');
});
});
Run Code Online (Sandbox Code Playgroud)
这是客户端代码:
<script>
var socket;
var firstconnect = true; …Run Code Online (Sandbox Code Playgroud) NSInteger total = 4556; // Initialize total
// NSLog all fields to make sure the variables are in place
NSLog(@"%@", originField.text);
NSLog(@"%@", destinationField.text);
NSLog(@"%i", [startField.text integerValue]);
NSLog(@"%i", [endField.text integerValue]);
NSLog(@"%i", total);
// Create a dictionary of them
NSDictionary *newDict = [[NSDictionary alloc] initWithObjectsAndKeys:@"Sat. Jan 6th, 2014", @"date", originField.text, @"origin", destinationField.text, @"destination", [startField.text integerValue], @"start", [endField.text integerValue], @"end", total, @"total", @"Personal", @"type", nil];
// EXC_BAD_ACCESS CODE 1
Run Code Online (Sandbox Code Playgroud)
我尝试在Instruments中使用Zombies模板,但我从未得到过对话框.在破坏点时,应用程序在initWithObjectsAndKeys上崩溃.我的死变量在哪里?
我通过Bonjour协议来回发送数据.所有数据包都作为NSData字符串发送并通常转换为字符串; 但是如果我需要收到图片怎么办?这是将要进行的过程.
NSImageNSImage作为NSData数据包发送NSData我可以尝试将数据转换为图像并捕获错误(这意味着它不是图像)吗?
我需要改变这样的事情
NSString *stringWithParentheses = @"This string uses (something special)";
Run Code Online (Sandbox Code Playgroud)
以编程方式进入此.
NSString *normalString = @"This string uses";
Run Code Online (Sandbox Code Playgroud)
问题是我不想使用所有这些奇怪的库,正则表达式等.
每次我file_put_contents在 DigitalOcean 的 LAMP 服务器上的 PHP 脚本中使用时,都会收到以下错误消息:
file_put_contents(test_digitalocean.json): failed to open stream:
Permission denied in /var/www/html/test_digitalocean.php
Run Code Online (Sandbox Code Playgroud)
如何正确设置权限?
我通过/test_digitalocean.php在浏览器中输入服务器的 IP 地址来访问我的脚本。
所有脚本都上传到 /var/www/html/
如果我查看 FileZilla 中的 www 文件夹,我可以看到权限为 775,所有者和组都为 www-data。
我已经创建了一个发送到我的PHP服务器的AJAX请求:
var xml = new XMLHttpRequest();
xml.open("POST", "question.php", true);
xml.setRequestHeader('question','test');
xml.send();
Run Code Online (Sandbox Code Playgroud)
在PHP中,我正在尝试接收AJAX数据,但不幸的是,它无法正常工作.
$qst = $_POST['question'];
return $qst;
Run Code Online (Sandbox Code Playgroud)
我是否在使用AJAX请求时出错?如何正确设置POST变量的名称?我猜这就是问题所在.
ios ×3
javascript ×3
objective-c ×3
ajax ×2
node.js ×2
php ×2
cocoa ×1
frame ×1
jquery ×1
long-polling ×1
nsdata ×1
nsimage ×1
server ×1
socket.io ×1
uitextview ×1
websocket ×1