V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  sbmzhcn  ›  全部回复第 10 页 / 共 11 页
回复总数  210
1 ... 2  3  4  5  6  7  8  9  10  11  
2014-12-20 21:58:22 +08:00
回复了 sbmzhcn 创建的主题 Python python 实现 TCPServer
@mengzhuo 非常感谢你的代码,能具体再和我说说这段代码吗?

with Timeout(self.timeout, ConnectionTimeout):
sc = DSCChannel(self, sock, addr, self.data_size_limit)

这段代码是不是必须会超时。我需要服务器一直不停的接收,不中断,但我测试你的代码,无论怎么样总会超时。
2014-12-20 13:41:27 +08:00
回复了 sbmzhcn 创建的主题 Python struct pack 问题,与文档上的结果不一样
@savebox 怎么解决,我现在需要 pack('h', 16) 的结果是 \x00\x10 但它的结果总是 \x10\x00
2014-12-20 13:40:18 +08:00
回复了 sbmzhcn 创建的主题 Python struct pack 问题,与文档上的结果不一样
@casparchen 是不一样,你没看到上面的代码有问题吗, 1 pack的结果应该是 \x00\x01 但实际却是\x01\x00,

原文档: unpack('hhl', '\x00\x01\x00\x02\x00\x00\x00\x03') 结果是(1, 2, 3)
我的unpack('hhl', '\x00\x01\x00\x02\x00\x00\x00\x03') 结果是(256, 512, 50331648)
2014-12-18 17:22:55 +08:00
回复了 sbmzhcn 创建的主题 Python python 实现 TCPServer
非常感谢大家的回复, 看到大家的回复都比较专业,看来这样的应用还是应该花钱让公司找人去做,目前并不太可能有超过上百个设备的,那是以后的事了,现在这个问题还没有很好的解决,实现的过程很简陋,虽然也能接收数据,发送数据但感觉不太优雅。

目前如果按照我上面的代码,如何实现把每个连接放在一个列表里,并且可以随时操作其中一个连接。当前连接应该包含设备的id, ip, 等一些信息。
2014-12-10 11:05:06 +08:00
回复了 sbmzhcn 创建的主题 Python Python3 下批量管理 SSH(VPS)的好用工具?
使用了https://github.com/paramiko/paramiko 还不错,可以批量操作远程VPS。
2014-12-08 08:58:19 +08:00
回复了 sbmzhcn 创建的主题 Google chrome 扩展需要交 5 美元,如何解决?
Uh oh. There was a problem.

We couldn't start your purchase because of a technical issue.
Details of the problem below:
Sorry, we were unable to process this request. Any charge will be automatically cancelled within 24 hours. Please try again after 24 hours.

支付时,出现以上问题。
2014-12-07 20:29:28 +08:00
回复了 mornlight 创建的主题 Google 现在注册 Chrome Web Store 开发者最便捷的方式是什么?
@mornlight 搞定的话告诉我下。
2014-11-28 11:01:58 +08:00
回复了 liuyi_beta 创建的主题 分享发现 可以登录网页版 iCloud 查看手机照片了。
从itunes同步的照片将会被移除 这个什么意思,是不是点击确定后,我相机上的照片就被会移除了,它提示我要 将移除 4xx张照片。
求问,有没有这样操作过的,后果是什么?
2014-11-22 12:22:30 +08:00
回复了 sbmzhcn 创建的主题 Linux sed 将文件中的最后一行之后加上一句话
@msg7086 我用这是想改动现有文件,文件不一定存在。
@blacktulip 你说的对,是能用这实现,我有些也是用这实现的。
2014-11-21 21:35:03 +08:00
回复了 sbmzhcn 创建的主题 Linux sed 将文件中的最后一行之后加上一句话
@msg7086 echo 是显示到屏幕, 不是吗,有个sed可以解决,为什么一定要用echo. 这些功能是在一个脚本中的,这个脚本的功能需要这样做。
2014-11-21 19:39:51 +08:00
回复了 sbmzhcn 创建的主题 Linux sed 将文件中的最后一行之后加上一句话
@q378648220 @fising @oott123 没用echo是因为不想在控制台显示。文件也不一定存在,这是脚本中的一句,我测试的时候使用echo否符合我想要的结果。

sed -i "\$aTEXTAPPEND” file 解决。
2014-11-21 16:31:53 +08:00
回复了 sbmzhcn 创建的主题 Python 动态调用类,需要时才加载相应的类
@ryd994 能详细说说吗,我就是想把可变的做成数据,不可变的提出来。如果有什么示例就好了,我可以研究下。
2014-10-28 13:03:18 +08:00
回复了 sbmzhcn 创建的主题 程序员 求 c#下的使用 socks 下载网页程序
@mengskysama 首先必须用.net,因为要求开发C#的程序,二是我也不想这样实现,但这样实际有几个原因,一是使用这样的实现 可以使用socket代理,不知道其它的httpwebrequest有什么办法可以直接使用socket代理。我知道很少有人这样实现,所以才这样问,有没有这样的代码,就因为这样的代码很少,我才问的。你说的我也理解。
2014-10-24 09:09:27 +08:00
回复了 sbmzhcn 创建的主题 程序员 求 c#下的使用 socks 下载网页程序
'''
#region page source analytics
private void AnalyPageSource(MemoryStream ms,
out WebHeaderCollection responseHeaders,
out string pageContent)
{
byte[] bytes = ms.ToArray();
StringBuilder string_buffer = new StringBuilder();
byte[] contentBytes = new byte[bytes.Length];

responseHeaders = new WebHeaderCollection();
pageContent = string.Empty;
// process headers
for (int i = 0; i < bytes.Length; i++)
{
string_buffer.Append((char)bytes[i]);
if (string_buffer.ToString().ToLower().IndexOf("\r\n\r\n") != -1)
{
int index = string_buffer.ToString().IndexOf("\r\n\r\n");
string originalheaderString = string_buffer.ToString().Substring(0, index);
Header = originalheaderString;

//Array.Copy(bytes, index + 4, contentBytes, 0, ms.Length - index - 4);
Array.Copy(bytes, index + 4, contentBytes, 0, bytes.Length - index - 4);
string originalPageContent = Encoding.UTF8.GetString(contentBytes);

string responseState = "";
string[] headers = originalheaderString.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);
foreach (string item in headers)
{
if ( item.StartsWith( "Set-Cookie:", StringComparison.OrdinalIgnoreCase ))
{
string tCookie = item.Substring(11, item.IndexOf(";") < 0 ? item.Length - 11 : item.IndexOf(";") - 10).Trim();
if ( !this.Cookies.Exists( f => f.Split( '=' )[0] == tCookie.Split( '=' )[0] ) )
{
this.Cookies.Add( tCookie );
}
}
int colonIndex = item.IndexOf(":");
if (colonIndex > -1)
responseHeaders.Add(item.Substring(0, colonIndex).Trim(), item.Substring(colonIndex + 1).Trim());
else
responseState = item;
}
StatusCode = responseState.Split(' ')[1];

if (responseState.IndexOf(" 302 ") != -1 || responseState.IndexOf(" 301 ") != -1)
{
if (responseHeaders["Location"] != null)
{
try { ResponseUri = new Uri(responseHeaders["Location"]); }
catch { ResponseUri = new Uri(ResponseUri, responseHeaders["Location"]); }
}
}

ContentType = Headers["Content-Type"];
if (Headers["Content-Length"] != null)
ContentLength = int.Parse(Headers["Content-Length"]);
KeepAlive = (Headers["Connection"] != null && Headers["Connection"].ToLower() == "keep-alive") ||
(Headers["Proxy-Connection"] != null && Headers["Proxy-Connection"].ToLower() == "keep-alive");

try
{
if (!String.IsNullOrEmpty(responseHeaders[HttpResponseHeader.TransferEncoding]))
{
if (responseHeaders[HttpResponseHeader.TransferEncoding].Contains("chunked"))
{
contentBytes = ChunkedDecompress(contentBytes);
}
}
}
catch (Exception ex)
{
throw new Exception("处理chunked数据失败:" + ex);
}
try
{
if (!String.IsNullOrEmpty(responseHeaders[HttpResponseHeader.ContentEncoding]))
{
if (responseHeaders[HttpResponseHeader.ContentEncoding].Contains("gzip")
|| responseHeaders[HttpResponseHeader.ContentEncoding].Contains("deflate"))
{
pageContent = GzipDecompress(contentBytes);
}
}
else
{
pageContent = Encoding.UTF8.GetString(contentBytes);
}
}
catch (Exception ex)
{
throw new Exception("GzipDecompress Error: " + ex.Message);
}

if (string.IsNullOrEmpty(pageContent) && !string.IsNullOrEmpty(originalPageContent))
{
pageContent = originalPageContent;
}
break;
}
}
}
#endregion
'''

这是我代码中的一部分,为什么我没觉得那么简单呢。
2014-10-23 22:03:48 +08:00
回复了 sbmzhcn 创建的主题 程序员 求 c#下的使用 socks 下载网页程序
如果这么简单我就不会问了,这问题一年多了吧,虽然我用代码写出来了,但稳定性不好,我想借鉴下其他代码,说十几行代码可以搞定 我只有呵呵了。
2014-10-23 21:08:08 +08:00
回复了 sbmzhcn 创建的主题 程序员 求 c#下的使用 socks 下载网页程序
添加一个最重要的,忘了,要支持异步,不然下载的时候会卡在那儿永远不会动,我遇到过。
1 ... 2  3  4  5  6  7  8  9  10  11  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1427 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 28ms · UTC 17:27 · PVG 01:27 · LAX 09:27 · JFK 12:27
Developed with CodeLauncher
♥ Do have faith in what you're doing.