HttpListener服务器读流失败问题 求助 [问题点数:100分,结帖人ly89924]

Bbs2
本版专家分:382
结帖率 100%
Bbs12
本版专家分:468514
Blank
进士 2018年总版新获得的技术专家分排名前十
2017年 总版技术专家分年内排行榜第十
2013年 总版技术专家分年内排行榜第八
Blank
铜牌 2018年12月 总版技术专家分月排行榜第三
2018年11月 总版技术专家分月排行榜第三
2017年2月 总版技术专家分月排行榜第三
Blank
红花 2019年1月 .NET技术大版内专家分月排行榜第一
2018年12月 .NET技术大版内专家分月排行榜第一
2018年11月 .NET技术大版内专家分月排行榜第一
2018年10月 .NET技术大版内专家分月排行榜第一
2018年9月 .NET技术大版内专家分月排行榜第一
2018年7月 .NET技术大版内专家分月排行榜第一
2018年6月 .NET技术大版内专家分月排行榜第一
2018年1月 .NET技术大版内专家分月排行榜第一
2017年5月 .NET技术大版内专家分月排行榜第一
2017年4月 .NET技术大版内专家分月排行榜第一
2017年3月 .NET技术大版内专家分月排行榜第一
2017年2月 .NET技术大版内专家分月排行榜第一
2016年10月 .NET技术大版内专家分月排行榜第一
2016年8月 .NET技术大版内专家分月排行榜第一
2016年7月 .NET技术大版内专家分月排行榜第一
Blank
黄花 2019年4月 .NET技术大版内专家分月排行榜第二
2019年3月 .NET技术大版内专家分月排行榜第二
2018年8月 .NET技术大版内专家分月排行榜第二
2018年4月 .NET技术大版内专家分月排行榜第二
2018年3月 .NET技术大版内专家分月排行榜第二
2017年12月 .NET技术大版内专家分月排行榜第二
2017年9月 .NET技术大版内专家分月排行榜第二
2017年7月 .NET技术大版内专家分月排行榜第二
2017年6月 .NET技术大版内专家分月排行榜第二
2016年12月 .NET技术大版内专家分月排行榜第二
2016年9月 .NET技术大版内专家分月排行榜第二
2016年6月 .NET技术大版内专家分月排行榜第二
2016年3月 .NET技术大版内专家分月排行榜第二
2016年1月 .NET技术大版内专家分月排行榜第二
2015年12月 .NET技术大版内专家分月排行榜第二
2015年2月 .NET技术大版内专家分月排行榜第二
2015年1月 .NET技术大版内专家分月排行榜第二
2014年11月 .NET技术大版内专家分月排行榜第二
2014年5月 .NET技术大版内专家分月排行榜第二
2014年4月 .NET技术大版内专家分月排行榜第二
2012年2月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第二
Bbs2
本版专家分:382
Bbs9
本版专家分:74700
Blank
微软MVP 2014年4月 荣获微软MVP称号
Blank
红花 2017年6月 移动开发大版内专家分月排行榜第一
Blank
黄花 2013年12月 .NET技术大版内专家分月排行榜第二
2013年11月 .NET技术大版内专家分月排行榜第二
2013年10月 .NET技术大版内专家分月排行榜第二
2013年8月 .NET技术大版内专家分月排行榜第二
2013年7月 .NET技术大版内专家分月排行榜第二
Blank
蓝花 2013年9月 .NET技术大版内专家分月排行榜第三
求助!HttpListener搭建简易Web服务器传输视频流遇到的问题
[code=csharp] private static HttpListener Listener = new HttpListener();rnrn private void StartListener()rn rn Listener.Prefixes.Add("http://+:1987/");rn Listener.Start();rn Listener.BeginGetContext(Result, null);rn rn private static void Result(IAsyncResult ar)rn rn Listener.BeginGetContext(Result, null); //继续异步监听rn var Context = Listener.EndGetContext(ar);rn var Request = Context.Request;rn var Response = Context.Response;rn Debug.Print("Headers:\r\n" + Request.Headers.ToString());rnrn Response.ContentType = "video/mp4";rn Response.AddHeader("Content-type", "video/mp4"); //添加响应头信息rn Response.ContentEncoding = Encoding.Unicode;rnrn FileStream readStream = File.OpenRead(@"F:\StreamingServer\demo.mp4");rnrn long StartPoint = 0;rn string Range = Request.Headers["Range"];rn if (string.IsNullOrEmpty(Range))rn rn Response.ContentLength64 = readStream.Length;rn rn elsern rn StartPoint = long.Parse(Range.Split('=')[1].Split('-')[0]);rn Response.StatusCode = 206;rn Response.ContentLength64 = readStream.Length - StartPoint;rn readStream.Position = StartPoint;rn rn rn byte[] date = new byte[1024];rn tryrn rn while (Response.OutputStream != null)rn rn int lengths = readStream.Read(date, 0, date.Length);rn if(lengths == 0) break; rn Response.OutputStream.Write(date, 0, lengths);rn rn rn catch(Exception e)rn rn Console.WriteLine(e.Message);rn rn Console.WriteLine($"请求处理完成!时间: DateTime.Now.ToString()");rn [/code]rnrn用Vlc播放器正常播放http://localhost:1987/没什么<em>问题</em>,正常播放只会接收到两次请求rn第一次请求,Request.Headers为rnHeaders:rnAccept: */*rnAccept-Language: zh_CNrnHost: localhost:1987rnRange: bytes=0-rnUser-Agent: VLC/3.0.7.1 LibVLC/3.0.7.1rnrnResponse.StatusCode = 206; 因为回复了206的应答号,播放器断开连接,并向Web<em>服务器</em>发送过来第二次请求,Request.Headers为rnHeaders:rnIcy-MetaData: 1rnHost: localhost:1987rnUser-Agent: VLC/3.0.7.1 LibVLC/3.0.7.1rnrn到这里都能正常播放,但是我手动拖动一下播放进度(比如已经播放了30秒,手动点到20秒的位置重新播放),播放器就直接终止播放了(是终止,不是缓冲),如果我将播放位置从20秒拖到30秒的对方开始播放,播放器还是能正常播放,不知道为什么会出现这样的情况?求大佬帮忙!rnrn
C# HttpListener 开发服务器示例
private static HttpListener listener;           public static void demo()         {             if (listener == null)             {                 listener = new HttpListener();   
读string流的问题
vectortext;rnistream_iteratoreof;rncopy(in,eof,back_inserter(text));rnrn怎么实现输入换行后,输入结束rn
加密解密读流问题
我用DEC进行文件加密解密,下面是加密解密的方法(加密略)rn/// 待加密文件的路径rn /// 待加密后文件的输出路径rnrn public void Encrypt(string inFileName, string outFileName)rn/// 待解密文件的路径rn /// 待解密后文件的输出路径rn public void Decrypt(string inFileName, string outFileName)rn rn tryrn rn FileStream fin = new FileStream(inFileName, FileMode.Open, FileAccess.Read);rn FileStream fout = new FileStream(outFileName, FileMode.OpenOrCreate, FileAccess.Write);rn fout.SetLength(0);rnrn byte[] bin = new byte[100];rn long rdlen = 0;rn long totlen = fin.Length;rn int len;rn mydes.Key = GetLegalKey();rn mydes.IV = GetLegalIV();rn ICryptoTransform encrypto = mydes.CreateDecryptor();rn CryptoStream cs = new CryptoStream(fout, encrypto, CryptoStreamMode.Write);rn while (rdlen < totlen)rn rn len = fin.Read(bin, 0, 100);rn cs.Write(bin, 0, len);rn rdlen = rdlen + len;rn rn cs.Close();rn fout.Close();rn fin.Close();rnrn rn解密后会保存一个文件,然后我用progress打开解密后的PPT。可是我不想创建解密后PPT文件,而是直接去打开。那该怎么办呢。我这里有dso操作ppt方法,求神人帮助
失败问题!
程序请求用户输入3个整数,如果输入非法类型,那么程序该如何处理?rn程序的代码逻辑要怎么写?3Q
HttpListener报错问题
使用HttpListener报错
HttpListener异步问题
想用HttpListener并发处理客户端的请求,用异步处理,但是发现会有阻塞rn[code=csharp]rnstatic void HandleRequest(IAsyncResult ar)rn rn HttpListener listener = ar.AsyncState as HttpListener;rn HttpListenerContext context = listener.EndGetContext(ar);rn listener.BeginGetContext(new AsyncCallback(HandleRequest), listener);rn HttpListenerResponse response = context.Response;rn rn Thread.Sleep(1000); rn rn using (StreamWriter sr = new StreamWriter(response.OutputStream))rn rn sr.Write("OK");rn rn response.Close();rn rn[/code]rnrn因为服务端要处理请求,所以在返回前阻塞1秒,在阻塞前已经BeginGetContext了,按道理说,应该能够马上等待获取下一次的请求,但是测试发现,好像不能马上的接收下一个请求,大概1秒钟接收几个请求,这样处理的能力很低,麻烦各位帮忙看下<em>问题</em>出在哪里。rnrn
httplistener进程卡死问题
手头有一个项目,由一个WinService,几个个Winform和控制台程序组成,windows服务上使用httpListener架设了一个<em>服务器</em>,几个Winform和控制台之间的通讯通过httpWebRequest和httpWebResponse发送请求和接收回复。总体的运行情况都比较正常。rnrn但是,在某些机器上,[color=#FF0000]偶尔[/color]会出现winform和控制台程序一直卡死在任务进程中,[color=#FF0000]强制结束都无法结束[/color]的情况。排查之后发现,是Service里头的httpListener卡死导致,而且,当出现卡死的情况下,哪怕我[color=#FF0000]另外再写[/color]一个测试用的程序,使用[color=#FF0000]其他端口[/color],调用HttpListerner.Start(),同样会导致测试程序进程卡死(表现为UI界面崩溃,任务管理器中进程存在,无法强制结束)。rnrn想问一下,rn1、这种<em>问题</em>该如何继续排查定位错误?rn2、可能的解决思路会有哪些?rnrn弃用HttpListener改用Socket或者是Pipe的成本太高了,大概需要重写约50个业务逻辑类,还包括整体的重新测试。rnrnps. 请不要告诉我httpListener.Start()是阻塞方法,要用后台线程执行,不能用UI线程执行这样的回答...rnrn这种常识还是有一点的....
关于httpListener的问题
关于<em>httplistener</em>建了监听器监听客户端发过来的请求,网上也有不少关于监听器的例子。rnrn不过我有一个疑问一直困扰我,客户端怎么发送消息到<em>服务器</em>,使用什么样的类,或方法发送不同的消息rn客户端是怎么接收来之<em>服务器</em>的消息的
Winform HttpListener监听问题
我查看了HttpListener类的MSDN文档,测试它提供的例子rnhttps://msdn.microsoft.com/zh-cn/library/system.net.<em>httplistener</em>.aspxrnrn[code=csharp]class Programrn rn static void Main(string[] args)rn rn SimpleListenerExample(new string[]"http://*:8080/");rn rnrn // This example requires the System and System.Net namespaces.rn public static void SimpleListenerExample(string[] prefixes)rn rn if (!HttpListener.IsSupported) rn Console.WriteLine("Windows XP SP2 or Server 2003 is required to use the HttpListener class.");rn return;rn rn // URI prefixes are required,rn // for example "http://contoso.com:8080/index/".rn if (prefixes == null || prefixes.Length == 0)rn throw new ArgumentException("prefixes");rnrn // Create a listener.rn HttpListener listener = new HttpListener();rn // Add the prefixes.rn foreach (string s in prefixes) rn listener.Prefixes.Add(s);rn rn listener.Start();rn Console.WriteLine("Listening...");rn // Note: The GetContext method blocks while waiting for a request. rn HttpListenerContext context = listener.GetContext();rn HttpListenerRequest request = context.Request;rn // Obtain a response object.rn HttpListenerResponse response = context.Response;rn // Construct a response.rn string responseString = " Hello world!";rn byte[] buffer = System.Text.Encoding.UTF8.GetBytes(responseString);rn // Get a response stream and write the response to it.rn response.ContentLength64 = buffer.Length;rn System.IO.Stream output = response.OutputStream;rn output.Write(buffer, 0, buffer.Length);rn // You must close the output stream.rn output.Close();rn listener.Stop();rn rn [/code]rn在代码中将URL设置为"http://*:8080/",启动运行,并在浏览器输入http://127.0.0.1:8080/或http:localhost:8080/都能监听返回信息Hello world!rn之后我固定本地IPrn[img=https://img-bbs.csdn.net/upload/201504/27/1430112354_817200.png][/img]rn在浏览器输入http://192.168.1.126:8080/却无法监听到rnrn我将URL设置"http://192.168.1.126:8080/后运行,也是输入127.0.0.1和localhost能监听,而输入固定的IP地址时不能监听rnrn这是怎么回事???求帮忙!!!
流文件读些问题
请问C++中的两行代码如何转换到c#中?其中:rn FileStream *a_pFile;rn int m_PenWidth; rn TColor m_BrushColor;rnrn a_pFile->Write(&m_PenWidth,sizeof(m_PenWidth));rn a_pFile->Write(&m_PenStyle,sizeof(m_PenStyle));rn
求助】WebService服务器方法失败
[b]<em>问题</em>描述:[/b]rn解决方案下有两个项目:一个是MVC程序,一个是WebService。rn现MVC程序服务引用WebService 引用名为:ServiceReference1rn使用WebService页面添加 服务:rn[code=xml]rn rn rn rn rn rn[/code]rnJS使用:rn[code=xml]rnfunction SubToLogIn()rnrn OES.WebService.MyService.LogIn(uName, uPWD, OnSuccess,OnFail,context);rn//OES.WebService.MyService为 WebService的类路径rn//WebService在MVC程序中的引用类路径为OES_MVC.ServiceReference1rnrn[/code]rn而在使用过程中 则一直提示"<em>服务器</em>方法“LogIn”<em>失败</em>。"rnrnrn重新新建一个MVC项目,将WebService文件复制到新MVC项目中 大致重复上述步骤 却能正常运行。
读局域网内的服务器的MAC地址失败
大多数客户端机器上都可以,只有个别不行,也不知哪个环节出错了,rn我是通过<em>服务器</em>名称取得IP,然后通过IP去读MAC地址的rn// 获取指定主机的IP地址rnString Host2Ip(String strDomain)rnrn SOCKADDR_IN saddr;rn WORD wVersionRequested;rn WSADATA wsaData;rn hostent *pHostIp;rn int nErrorNum;rn wVersionRequested = MAKEWORD(2, 2);rn nErrorNum = WSAStartup(wVersionRequested, &wsaData);rn if(nErrorNum != 0)rn rn // MessageBox(Application->Handle,rn // SysErrorMessage(GetLastError()).c_str(), "初始化错!", MB_OK|MB_ICONERROR);rn return "";rn rn saddr.sin_family = AF_INET;rn pHostIp = gethostbyname(strDomain.c_str());rn if(pHostIp == NULL)rn rn // MessageBox(Application->Handle,rn // SysErrorMessage(GetLastError()).c_str(), "转换出错!", MB_OK|MB_ICONERROR);rn return "0.0.0.0";rn rn WSACleanup();rn return (String)inet_ntoa(*(LPIN_ADDR)*(pHostIp->h_addr_list));rnrnrnrn/////////////////////////////////////////////////rn//读MAC地址rnLPCSTR GetMacAddress(AnsiString str)rnrn WSAData GInitData;rn if (WSAStartup(MAKEWORD(2,1),&GInitData) != 0)rn rn return "初始化SOCKET函数<em>失败</em>!";rn rn typedef struct _ASTAT_rn rn ADAPTER_STATUS adapt;rn NAME_BUFFER NameBuf[30];rn ASTAT,* PASTAT;rn ASTAT Adapter;rn NCB ncb;rn UCHAR uRetCode;rn memset(&ncb,0,sizeof(ncb));rn ncb.ncb_command=NCBRESET;rn ncb.ncb_lana_num=0;rn uRetCode=Netbios(&ncb);rn memset(&ncb,0,sizeof(ncb));rn ncb.ncb_command=NCBASTAT;rn ncb.ncb_lana_num=0;rn strcpy((char *)ncb.ncb_callname,str.c_str());rn ncb.ncb_buffer=(unsigned char *)&Adapter;rn ncb.ncb_length=sizeof(Adapter);rn uRetCode=Netbios(&ncb);rn if(uRetCode==0)rn rn char mac[15], * lpmac;rn sprintf(mac,"%02X%02X%02X%02X%02X%02X",rn Adapter.adapt.adapter_address[0],rn Adapter.adapt.adapter_address[1],rn Adapter.adapt.adapter_address[2],rn Adapter.adapt.adapter_address[3],rn Adapter.adapt.adapter_address[4],rn Adapter.adapt.adapter_address[5]);rn /*sprintf(mac,"%02X%02X%02X%02X",rn Adapter.adapt.adapter_address[0],rn Adapter.adapt.adapter_address[1],rn Adapter.adapt.adapter_address[2],rn Adapter.adapt.adapter_address[3]);*/rn lpmac=mac;rn WSACleanup();rn return lpmac;rn rn elsern rn WSACleanup();rn return "无法解释MAC地址";rn rn
使用HttpListener 实现简单的web服务器
using System; using System.Net; using System.IO; using System.Threading; using System.Text; using MySql.Data.MySqlClient; using System.Collections.Generic; public class TheServer { private str
C#Http服务器报HttpListener拒绝访问异常解决方法
<em>问题</em>:Win7下在尝试搭建简单http<em>服务器</em>的时候,执行httpListener.Start();报错HttpListener拒绝访问异常 代码如下: HttpListener httpListener = new HttpListener();//创建<em>服务器</em>监听 httpListener.Prefixes.Add("http://+:8080/");//配置监听地址。+代表本机
HttpListener示例程序
使用System.Net.HttpListener对象,构建的HTTP监听服务 using System; using System.Collections.Generic; using System.Net; using System.Text; namespace HttpService.Sample.Service { /// /// /// inte
服务器文件的问题
我想编一个从客户端可以读到<em>服务器</em>文件的程序rnc的rn用进程间通信的任一种方法都行rnlinux或者solaris下的rnrn大家有没有呀rnrn谢谢
求助,流问题
有个日志文件,二进制的。里面的信息有:rnrn范围(字节) 内容rn0--31 登入用户名rn32--67 /*不需要的信息*/rn68--71 进程IDrn72--73 登入类型(7为登入,8为登出)rn74--79 /*不需要的信息*/rn80--83 登入时间(单位为秒)rn84--113 /*不需要的信息*/rn114--372 登入的IP地址rnrn以上信息为一条信息,大小为372字节rn例如这个日志文件有10条信息,总大小为3720字节rnrn现在我想要读这个文件,并在控制台输出以上信息(/*不需要的信息*/ 就不用输出了)
directshow怎样读流?
大家好!rn  小弟开发的一个Source Filter(经过ball修改的),我是把里面的fillBuffer函数,画球的那两个语句删了,改成从外面接收摄像头传过来的流数据.外面的流是循环的传进来.rn显示的时候是黑屏,我用GraphEdit进行远程连接查看的时候是Ball Filter和VideoRenderer Filter相连支持的类型是32位的.黑屏的<em>问题</em>我想了好久还是想不通!大家说说是<em>问题</em>出现在哪里?
读流文件
ifstream sfile(fileName);rnrnrn while(!sfile.eof());rn rn getline(sfile,line);//读每行数据rn rn sfile.close();rn这个代码在VC6下为什么执行不了,while语句报错?
一个关于异步HttpListener的问题
using System;rnusing System.Collections.Generic;rnusing System.Linq;rnusing System.Text;rnusing System.Net;rnusing System.Net.Sockets;rnusing DevSDK.Net.Sockets;rnusing System.IO;rnrnnamespace ConsoleApplication1rnrn class Programrn rn static HttpListener sSocket = null;rn rn static void Main(string[] args)rn rn sSocket = new HttpListener();rnrn sSocket.Prefixes.Add("http://127.0.0.1:8080/");rnrn sSocket.Start();rnrn sSocket.BeginGetContext(new AsyncCallback(GetContextCallBack), sSocket);rnrn Console.Read(); rn rnrn static void GetContextCallBack(IAsyncResult ar)rn rn tryrn rn sSocket = ar.AsyncState as HttpListener;rnrn HttpListenerContext context = sSocket.EndGetContext(ar);rnrn Console.WriteLine(context.Request.Url.PathAndQuery);rnrn // 这里我要进行数据库查询。。新来的连接它怎么处理的?rnrn rn catch rn sSocket.BeginGetContext(new AsyncCallback(GetContextCallBack), sSocket);rn rn rnrnrnrn请问。这个异步HTTPLISTENER实现代码。。。假如进行数据库查询的那个地方。需要很长很长时间。rnrn那么,新进来的连接请求rnrn是被怎么处理的呢?是进行排队?还是异步本身就是一个多线程呢?rnrn如果是排队。请问怎么解决并发的<em>问题</em>?rn
异步读流文件
异步 流……图像 收藏
读内存流LoadFromStream
各位,我使用delphi做一个上位机软件,其中有一项功能是解析文件,我把解析好的文件以内存流的形式存储,现在想验证解析是否正确,将内存流内容读到memo上看,rnrnfor i:=1 to index do index为内存流个数rn Memo1.Lines.LoadFromStream(mStream[i]);rnrn可是在memo上却没有显示,请问各位是什么原因?
求助,读注册表的问题
rnrn// 打开根路径rn RegistryKey MYSOFTKEY = RegistryKey.OpenRemoteBaseKey(Microsoft.Win32.RegistryHive.CurrentUser,""); rnrn // 子路径rn string subkey = "Software\\公司名\\软件名"; rnrn // 打开子路径rn RegistryKey SUBKEY = MYSOFTKEY.OpenSubKey(subkey); rnrn // 遍历所有的键名rn String [] keyNameArray = SUBKEY.GetValueNames();rnrn // 打印出所有键名及其对应的键值rn foreach (String keyName in keyNameArray)rn rn // 读取键值rn string keyValue = (string)SUBKEY.GetValue(keyName); rn rnrn rn   提示出错:String [] keyNameArray = SUBKEY.GetValueNames(); 这行 提示:未将对象引用设置到对象的实例rnrn 请问是什么原因?
远程连接服务器失败问题
<em>问题</em>:<em>服务器</em>连接<em>失败</em>rn连接步骤:rn 1) <em>服务器</em>SQL 1433端口已开rn 2) 路由已经影射<em>服务器</em>电脑及端口(192.168.1.100 1433)(<em>服务器</em>在局域网中一台电脑上)rn 3) 外网固定IP: 111.222.333.444(假设)rn 4) VB远程客户端字符串连接代码如下:rn Dim conn As adodb.Connectionrn Set conn = New adodb.Connectionrn conn.connectstring = "Provider=SQLOLDEDB;Server=111.222.333.444;Init Catalog=sjk ;UID=sa;PWD=111;NetWork Address=192.168.1.100,1433;Network Library=DBMSSOCN"rn rn conn.Openrn
httplistener 在写入所有字节之前不能关闭流
<em>httplistener</em> 在写入所有字节之前不能关闭流,只要设置: writer.Flush();或 writer.AutoFlush = true;即可 例如: System.IO.StreamWriter writer = new System.IO.StreamWriter(output); writer.
流驱动安装 失败
程序是 windows驱动开发技术详解 的示例testcaprn我修改编译成功之后,在目标机运行正常.但是这几天试了好多电脑都无法安装,在安装的最后一步提示:windows无法初始化这个设备,该文件可能已丢失或者损坏.(代码39)_有的机子是代码37rndriverentry函数中的kdprint语句都没有输出,说明没有找到driverentry函数才对.rn请问各位老大谁遇到过这情况,如何解决.rn另:这个驱动今天还另一台vista的系统崩溃了
fstream 读xml文件 失败
xml文件内容rnrnrn读取代码rn std::ifstream file("../test.xml", std::ios::in);rnrn file.seekg(0, std::ios::end);rn size_t fileSize = file.tellg();rnrn file.seekg(0, std::ios::beg);rnrn char *buffer = new char[fileSize + 1];rn buffer[fileSize] = '\0';rnrnrn file.read(buffer, fileSize);rnrnbuffer对出来不完整 貌似到某个位置断了。。。。。rnrn求解答 xml里面绝对没有任何隐藏的特殊字符。
socket读失败
accept返回socket id后,根据该id在一个循环里读数据,每次循环读三次(每次读都按不同长度读取数据),每次读前先select非阻塞检测该socket id是否可读。rn现在<em>问题</em>是,第一次进入循环,能正常读取三次数据(客户端也只发送了三次数据),再次进入下一个循环的第一次读数据,read<em>失败</em>,返回-1,errorno = 17, error 描述为:File exists。rn客户端没有第四次发送数据,那么第二次循环的第一次读数据前的select应该检测到socket无数据可读才对啊。而且报错File exsits让人很费解。rn哪位大侠分析一下。
读properties class.forname失败
Java 连接Mysql 加载 直接写Class.forName("com.mysql.jdbc.Driver"); 可以成功,但读properties Class.forName(drivers);); drivers = props.getProperty("driver“”( System.out.println(drivers)也可打印com.mysql.jdbc.Driver成功证明取到了 "); 就<em>失败</em>报java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 读url user passw读到可打印 但就是报错都是 具体代码如下ordnprivate void init() n try n // InputStream in = getClass().getResourceAsStream(FILE_PATH_NAME); n InputStream in = DataConnection.class.getClassLoader().getResourceAsStream(FILE_PATH_NAME); n Properties props = new Properties(); n n props.load(in); n in.close(); n drivers = props.getProperty("driver"); n url = props.getProperty("url"); n username = props.getProperty("username"); n password = props.getProperty("password"); n catch (IOException e) n e.printStackTrace(); n n n n n public Connection getConnection() n Connection conn = null; n try n System.out.println(drivers);n Class.forName(drivers);n // System.out.println("com.mysql.jdbc.Driver");n // Class.forName("com.mysql.jdbc.Driver"); n n // conn = DriverManager.getConnection(url, username, password); n conn = DriverManager.getConnection("jdbc:mysql://10.5.0.20/robottest","root", "1234");n catch (SQLException e) n e.printStackTrace(); n catch (ClassNotFoundException e) n e.printStackTrace(); n n return conn; n n 报错n njava.lang.ClassNotFoundException: com.mysql.jdbc.Driver n at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1856)n at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1705)n at java.lang.Class.forName0(Native Method)n at java.lang.Class.forName(Class.java:171)n at dao.DataConnection.getConnection(DataConnection.java:53)n at org.apache.jsp.connTest_jsp._jspService(connTest_jsp.java:120)n at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)n at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)n at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439)n at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)n at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)n at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)n at com.atguigu.javaweb.AuthorityFilter.doFilter(AuthorityFilter.java:29)n at com.atguigu.javaweb.HttpFilter.doFilter(HttpFilter.java:59)n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)n at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)n at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)n at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)n at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)n at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)n at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)n at java.lang.Thread.run(Thread.java:662)
从内存流读图片的问题?
各位好,小弟向大家请教个<em>问题</em>,是这样的,我把从FileUpload1中得到的文件图片生成它的缩略图,用aimg.Save("D:\\ xwk.bmp");这一句,能够正确把它的缩略图保存到D盘中去,但如果我先把缩略图保存到内存流中去,然后再把它的保存到D盘中去,发现保存之后的图片背后都是黑色的,好难看,好像变了样,不知怎么回事,代码如下,请大家帮忙看一下,搞了很久都找不出原因,小弟先在此谢谢大家了. rnSystem.Drawing.Image.GetThumbnailImageAbort myCallback = new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback); rn System.Drawing.Image sb = System.Drawing.Image.FromFile(FileUpload1.PostedFile.FileName); rn System.Drawing.Image aimg = sb.GetThumbnailImage(120, 30, myCallback, new IntPtr()); rn aimg.Save("D:\\xwk.bmp");//保存图片正常 rn rn MemoryStream ms = new MemoryStream(); rn aimg.Save(ms, System.Drawing.Imaging.ImageFormat.Gif); rn aimg.Dispose(); rn rn byte[] str = ms.GetBuffer(); rn FileStream FS = new FileStream("D:\\XWK1.bmp", FileMode.Create, FileAccess.ReadWrite, FileShare.None); //图片在此放到D盘,发现图片变了样 rn BinaryWriter BW = new BinaryWriter(FS); rn for (int K = 0; K < str.Length; K++) rn rn BW.Write(str[K]); rn rn rn BW.Close(); rn FS.Close(); rn ms.Close();
C++标准流读WAV文件的问题
我想用C++写一个读WAV文件的程序,但是读取头信息中的"ChunkSize"时总是不对rn程序的主要部分如下:rnrn#include rnrnclass WaveManagerrnrn public:rn WaveManager(ifstream& f);rn .........rnrn private:rn char chunkID[4];rn unsigned long chunkSize;rn .............rn;rnrnWaveManager::WaveManager(ifstream& f)rnrn f>>chunkID>>chunkSize;rnrnrnvoid main()rnrn char *pFileName = "D:\\start.wav";rn ifstream h(pFileName);rn WaveManager *w = new WaveManager(h);rn rnrnrnchunkID可以正确读取的,就是"RIFF"rn而chunkSize就不对了rn我觉得是ifstream不能直接读写二进制文件中的Unsigned long数据rn求高人指点
请教用流读txt文档问题!!!
一个txt文档中,有很多的作者,标题,还有作者写的东西。。用流怎么将他们都封装好。。比如获得作者时,想看他都写过什么,就可以获得一些标题,如果想看某个标题的内容,就可以获得该标题下的内容!!!rn先在此谢谢了!!!rn
模拟server读post流问题
我通过socket,io模拟server接收浏览器发送的post请求(请求行,消息报头,请求正文),请求行,请求报头都能获取到,请求正文(post的参数)就获取不到,这个一般是什么原因导致的啊?求大牛帮助
万分火急,求助服务器上的作业失败
昨天晚上将WIN2003<em>服务器</em>上WINDOWS的管理员(panda2000)所属的一个组给删除了,当时没有什么<em>问题</em>。也就没在意是什么名称。rn今天发现SQLSERVER的定时作业没有做,查看下原因如下:rnrn作业<em>失败</em>。 所有者(ZZSERVER\panda2000,拥有作业 029DTS)没有<em>服务器</em>访问权限.rnrnrn我想应该是和我昨天操作的有关,删除管理员panda2000所属组有关,主要是我还将那个组也删除 了。:(rnrn现在<em>服务器</em>无法运行作业了。请各位大虾帮忙啊!!!感谢! rnrn
求助VC6 启动EXCELXP服务器失败!!!
if(!AfxOleInit()) rnrn AfxMessageBox( "无法初始化COM的动态连接库! ");rn return;rn rn//创建Excel 2000<em>服务器</em>(启动Excel)rnrnif(!m_app.CreateDispatch(_T( "Excel.Application "))) /////此处rnrnAfxMessageBox( "无法启动Excel<em>服务器</em>! ");//弹出对话框rnreturn;rnrn编译通过无任何<em>问题</em>,至注释处出现异常,环境为WINXP+OFFICE XP,VC6,请大家帮忙指点下,在线等,多谢了!
求助】关于内存流的问题
我用MemoryStream,我先把字符串转换成字节数组,然后写入MemoryStream,再读出来,再转换成字符串,字符串就不对了,显示出来是空的,查到MemoryStream和字节数组长度是一样的,可是经过MemoryStream这么一弄字符串就不行了。编码解码都用的Unicode也不行。是怎么回事啊?MemoryStream做了什么处理?谁能告诉我?谢谢了
流的问题,急,求助高手!!!
现在我与内嵌的资源建立了一条流stream(是stream不是filestream或其他的),但是现在他的CanWrite属性是为false导致我无法修改资源里的内容,请教高手帮忙解决!另外补充下:我要替换里面的内容需要定位Seek函数,获取资源的代码如下rnusing (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(NameSpc + ".StrokeInfo.txt"))rn rn //要执行的操作rn stream.Seek();rn stream.Write();rn stream.Close();rn
wince流驱动问题求助
本人在WINCE5.0下做了个GPIO的流驱动,流驱动的函数rn GPI_Initrn GPI_Deinitrn GPI_Openrn GPI_Close rn GPI_Read rn GPI_Writern GPI_Seekrn GPI_IOControlrn GPI_PowerDownrn GPI_PowerUprnrn都好了,驱动加入了内核。现在我想问的事,系统起来后以上函数是否自动执行,。如果我要写测试程序,框架如何写?我在流驱动的每个函数中都加入了调试信息。
求助io流的问题,谢谢
统计d:\myfie.txt的行数,并在每一行的前面加上(行号)后存入d:\newfile.txt中。rnrn这个行号怎么加上去呢?rnrn谢谢
求助关于流写入的问题
<em>求助</em>关于流写入的<em>问题</em>rnrnimport java.io.*;rnclass testfilew rnrnrnpublic static void main (String[] args) throws Exceptionrn rn rn File fe=new File("3.txt");rn fe.createNewFile();rn FileWriter fw=new FileWriter(fe);rn int i=0;rn String [] str=new String [1024];rn rn BufferedReader inrn = new BufferedReader(new InputStreamReader(System.in));rn while(true)rn rn str[i]=in.readLine(); rn // System.out.print(str[i]); rn fw.write(str[i]);rn i++ ; rn if(i==4)rn break;rnrn rn for (int x = 0; x<4; x++) rn System.out.print(str[x]);rn rn rn fw.flush();rn fw.close();rn rnrn rnrnrn上面是我写的代码,为什么加了哪行注释和不加哪行注释完全不同,加了打出的结果都是第一次输入的,不加的话就正常,希望高于指点一下,先谢谢了rn rn
JAVA流的问题,高分求助
如何把一个*.txt文件里的内容拷贝到一个excel文件里?为什么我下面的代码总是把每一行所有的内容都写在第一个方格里?我怎么才能按照一定的格式,拷贝到excel里呢?rn import java.io.*;rnpublic class Export rn public static void main(String args[])rnrn try rn FileInputStream in=new FileInputStream(new File("d:\\export.txt"));rn FileOutputStream out=new FileOutputStream((new File("d:\\inport.xls")));rn int i=in.read();rn while(i!=-1)rn out.write(i);rn i=in.read();rn rn catch (IOException e) rnrn rn rn
istream流的问题! 求助...在线....
[code=C/C++]rn#include rnusing namespace std;rn///检查输入rn///似乎在<em>失败</em>后流的状态恢复不过来,直接跳过输入,大家帮忙调试看看,谢了rnint main()rnrn int val;rn while(cin >> val, cin.fail())rn rn cerr << "Bad data, Try again";rn cin.clear();rn rn return 0;rnrn[/code]
求助:网络套接字流 和 网络传输问题
网络套接字流,结合网络传输,我不知道具体怎么实现。rnrnrnrn那位大虾能给个例子 ,现谢过了!!!!!rnrnrn我只知道rn序列化用这个rnObjectOutputStreamrnrn网络通信用rnSocketrnrnrn是不是还应还有个rn进程的控制????rnrnrn我在做一个扑克牌的游戏作为毕业设计 , 但是,这一块知识和经验是空白。rnrnrn希望能得到指点。rnrnrn关于 rnrn序列化rnrn网络套接字流rnrn网络传输<em>问题</em>rnrn他们之间的关系,希望能得到例子!!!!!!rnrnrn没分了 所以不能给高分 不好意思。
HttpListener 和web.config的关系?
using System;rnusing System.Collections.Generic;rnusing System.Text;rnusing System.Configuration;rnusing System.IO;rnusing System.Net;rnusing System.Collections;rnrnnamespace ConsoleApplication3rnrn class Programrn rn static void Main(string[] args)rn rnrn string strTmp = "http://*:8010/";rn string strTmp1 = "http://*:8010/Login/";rn string[] Prefixes = new string[] strTmp, strTmp1 ;rn rn SimpleListenerExample(Prefixes);rn rnrn // This example requires the System and System.Net namespaces.rn public static void SimpleListenerExample(string[] prefixes)rn rn if (!HttpListener.IsSupported)rn rn Console.WriteLine("Windows XP SP2 or Server 2003 is required to use the HttpListener class.");rn return;rn rn // URI prefixes are required,rn // for example "http://contoso.com:8080/index/".rn if (prefixes == null || prefixes.Length == 0)rn throw new ArgumentException("prefixes");rnrn // Create a listener.rn HttpListener listener = new HttpListener();rn listener.AuthenticationSchemeSelectorDelegate = new AuthenticationSchemeSelector(AuthenticationSchemeForClient);rn rn // Add the prefixes.rn foreach (string s in prefixes)rn rn listener.Prefixes.Add(s);rn rn listener.Start();rn Console.WriteLine("Listening...");rn // Note: The GetContext method blocks while waiting for a request. rn HttpListenerContext context = listener.GetContext();rn HttpListenerRequest request = context.Request;rn // Obtain a response object.rn HttpListenerResponse response = context.Response;rn // Construct a response.rn string responseString = " Hello world!";rn byte[] buffer = System.Text.Encoding.UTF8.GetBytes(responseString);rn // Get a response stream and write the response to it.rn response.ContentLength64 = buffer.Length;rn System.IO.Stream output = response.OutputStream;rn output.Write(buffer, 0, buffer.Length);rn // You must close the output stream.rn output.Close();rn listener.Stop();rn rnrn static AuthenticationSchemes AuthenticationSchemeForClient(HttpListenerRequest request)rn rn Console.WriteLine("Client authentication protocol selection in progress...");rn rn // Do not authenticate local machine requests.rn if (request.RawUrl!="/")rn rn return AuthenticationSchemes.Anonymous;rn rn elsern rn return AuthenticationSchemes.IntegratedWindowsAuthentication;rn rn rn rnrn我的意思rn1.http://*:8010/"是根目录下需要验证 rn2.http://*:8010/Login是根目录下不需要验证 rnrn但是我想通过设置web.config来设置权限。rn我现在是AuthenticationSchemeForClient 方法来设置的 ,和web.config无关rnrnrnrnrn
求助判断程序连接服务器是否读取到数据的问题
公司用一个软件从<em>服务器</em>读入数据 然后进行录入工作。rnrn我想写一个函数判断该软件是否从<em>服务器</em>读到需要录入的数据、应该从哪些方面开始,一点头绪都没有,用嗅探的软件试了下,不太懂。。求高人给个思路,感激不尽,分不多,别见怪。rnrn该软件是一个浏览器的插件,然后在浏览器中调用的,再从<em>服务器</em>中读取信息,将结果显示出来。
如何将一个对象读取到流?
内存中有一个对象obj,如何将他以二进制形式读取到流?
从后往前读的流
用什么流可以实现从后往前读,比如说只要读取文本内容的倒数几个字符?
请教,读流发生错误
ImageEnView1.IO.LoadFromFileJpeg('C:\Documents and Settings\rayyan\桌面\a\aa.jpg');rn提示读流发生错误,是什么原因了?
如何读ts流文件?
我最近在从windows移植代码为linux c/c++,rn在windows下,我用CreateFile(),CreateFileMapping(),MapViewOfFile()和GetFileSize()来读ts文件,并映射。rn不知道在linux下要用到哪些函数,怎么实现呢?知道的大侠吼一声啊~~~~~rn
求助文本文件读和写的问题
初学C语言,写了个代码,读A文件,写到B文件,请各位前辈帮忙看看并指点一下,感激不尽rnrn[code=c]rn#includern#includernint Fpqsh,Fpjzh,Fpsl,Sqlcx;rnint main()rnrn FILE *read,*write; //定义指向文件的指针read,writern char ch; //定义字符变量chrn char str[10][200]; //定义字符串数组strrn if((read=fopen("filename1.txt","r"))==NULL) //如果指向文件filename1地址的指针read指向空地址rn rn printf("读取<em>失败</em>,按回车键退出!\n"); //输出错误提示rn while(1) //死循环控制错误提示rn rn ch=getchar();rn if(ch=='\n')break; //满足条件退出循环rn rn exit(1);rn rn if((write=fopen("filename2.txt","w"))==NULL) //如果指向文件filename2地址的指针write指向空地址rn rn printf("建立文件<em>失败</em>,按回车键退出!\n"); //同上rn while(1)rn rn ch=getchar();rn if(ch=='\n')break;rn rn exit(1);rn rn fgets(str[0],13,read); //读取filename1文件的数据,长度13,存入str[0]rn fputs(str[0],write); //将读取的数据写入filename2文件rn fscanf(read,"%d",&Fpqsh); //用十进制格式读入filename1文件后续数据,存入全局变量Fpqshrn fprintf(write,"%d",Fpqsh); //用十进制格式向filename2文件写入全局变量Fpqsh的值rn fgets(str[1],13,read); //读取filename1文件第二行的字符串,长度13rn fputs(str[1],write); //向filename2文件输出字符串rn fscanf(read,"%d",&Fpjzh); //读取filename1文件第二行的数字赋予Fpjzhrn fprintf(write,"%d",Fpjzh); //向filename2文件输出变量Fpjzh的值rn fgets(str[2],10,read); //读取filename1文件第三行的字符串,长度10rn fputs(str[2],write); //向filename2文件写入字符串rn fscanf(read,"%d",&Fpsl); //读取filename1文件第三行数值,赋予Fpslrn fprintf(write,"%d",Fpsl); //向filename2文件写入Fpsl的值rn fgets(str[3],45,read); //读取filename1文件第4行字符,截止到第45字节rn fputs(str[3],write); //写入filename2文件rn fscanf(read,"%d",&Sqlcx); //读取filename1文件数值赋予Sqlcx变量rn fprintf(write,"%d",Sqlcx); //向filename2文件输出变量Sqlcx的值rn fgets(str[4],160,read); //读取filename1文件第4行后续字符串rn fputs(str[4],write); //向filename2文件输出后续字符串rnrn return 0;rnrn[/code]rnrn运行结果:rnfilename1.txtrn发票起始号:00000001rn发票截止号:00000100rn发票数量:100rnINSERT INTO "KHD_FPKJ" VALUES('232011405020', 6341301, 1, 5000, '0', 0, '客户', '', '收款员', '2015-03-12 17:14:46', '', 0, '', '615459', '23201050200000', '', '1', '232011405020063413016757', '020799', '', '');rnrnfilename2.txtrn发票起始号:1rn0发票截止?牛?0000100rn0发票数量:100rnrn请教为何第一行看起来是正常的,从第二行开始就出<em>问题</em>了。。还有为何第4行开始都写不出来了?
httplistener异步的一个小问题
网络上找了个<em>httplistener</em>异步的例子rnhttp://blogread.cn/it/article.php?id=291rnrn可以运行,但有个小<em>问题</em>,就是每次访问时,接收程序会运行2次,这个很奇怪rn就是后面代码中HandleRequest方法里的Console.WriteLine("good");会输出2次,这个有办法解决吗rnrn付代码:rnstatic void EndGetRequest(IAsyncResult result) rn rn HttpListenerContext context = null; rn System.Net.HttpListener listener = (System.Net.HttpListener)result.AsyncState; rnrn try rn rn context = listener.EndGetContext(result); rn HandleRequest(context); rn rn catch (Exception ex) rn rn Console.Write("Exception in listener: 01", Environment.NewLine, ex); rn rn finally rn rn if (context != null) rn context.Response.Close(); rnrn if (listener.IsListening) rn listener.BeginGetContext(EndGetRequest, listener); rn rn rnrn static void HandleRequest(HttpListenerContext context) rn rn bool isScrape = context.Request.RawUrl.StartsWith("/scrape", StringComparison.OrdinalIgnoreCase); rnrn string responseStr = "very nice! haha"n来个中文你支持吗?"n"; rn for (int i = 0; i < context.Request.QueryString.Count; i++) rn rnrn responseStr = responseStr + "query:" + context.Request.QueryString.Keys[i] + "=" + context.Request.QueryString[i] + ""n"; rn rn Console.WriteLine("good"); rnrn byte[] response = System.Text.Encoding.Default.GetBytes(responseStr); rn context.Response.ContentType = "text/plain"; //这里的类型随便你写.如果想返回HTML格式使用text/html rn context.Response.StatusCode = 200; rn context.Response.ContentLength64 = response.LongLength; rn context.Response.OutputStream.Write(response, 0, response.Length); rn
宝塔连接服务器失败问题
<em>服务器</em>安装宝塔成功了,但是使用 http:公网ip:8888 连接<em>失败</em>,这是什么原因呢? 这是因为<em>服务器</em>的安全组没有设置宝塔的端口号8888,设置一下就可以访问了。 1.以阿里云为例,登录阿里云后台,选择云<em>服务器</em>ECS 2.选择网络与安全中的安全组 3.选择配置规则 4.点击快速创建规则 5.填写规则信息 端口填 8888/8888,不要只填8888,会报错的,我就是犯了这...
有谁了解HttpListener
有谁了解这个HttpListener的作用和使用方法啊 麻烦给介绍一下吧 rn谢谢各位大侠~~!
MQ读一次消息后失败问题
程序大概是这样的流程:rnMQAgent是MQ接口类 编译选项:MQ_LIB = -L/usr/mqm/lib64 -lmqmrn[code=C/C++]rnint main(int argc, char * argv[])rnrnMQAgent cAgent;rncAgent.Init();rn //获取MQ中消息报文rn while(true)rnrn iRet = cAgent.GetMsg(QName);rn if(0 == iRet)rn rn //读到消息rn cAgent.Commit();rn CWork.Work();rn rn else if(iRet == 2033)rn rn printf("等待消息中");rn rnrn elsern rn printf("<em>失败</em>");rn exit;rn rnrnrnrnCWorkrnrnMQAgent m_cAgent;rnrnvoid CWork::Work()rnrnm_cAgent.Init();rn......rnrnrn[/code]rnrn在这里,我CWork里的m_cAgent.Init()注释掉了,进程就不出错,进程里的cAgent对象读取正常,或者是0,消息正常处理或者是2033等待消息,但是把CWork里的m_cAgent.Init()注释去掉,编译运行,主进程接收一条消息处理后,再读取QName队列里的就报rnQName打开<em>失败</em>,错误码2018,我查了是句柄错误,请问下大侠们是怎么了.rnrn
求助 IIS7 下php服务器 mail函数发送失败问题
使用 hMailServer 配置了SMTP<em>服务器</em>,rnphp.ini打开了所有的错误和警告信息,mail函数无任何提示信息, 对应的gmail信箱没有收到邮件。rnrn根据邮件的发送报告,smtp对邮件进行了发送,但是目标<em>服务器</em>没有回应rnrnphp.ini配置如下:rnrn[mail function]rn; For Win32 only.rn; http://php.net/smtprnSMTP = localhostrn; http://php.net/smtp-portrnsmtp_port = 25rnrn; For Win32 only.rn; http://php.net/sendmail-fromrnsendmail_from = webmaster@127.0.0.1rnrnrnrnrnContent-Type: text/plain; charset="utf-8"rnReturn-Path: <>rnMessage-ID: rnDate: Wed, 13 Apr 2011 05:57:30 -0700rnFrom: mailer-daemon@localhostrnTo: webmaster@127.0.0.1rnSubject: Undeliverable: We are proccessing your question as soon as possible !rnContent-Transfer-Encoding: quoted-printablernX-hMailServer-LoopCount: 1rnrnYour message did not reach some or all of the intended recipients.rnrn Sent: Wed, 13 Apr 2011 09:47:20 +0100rn Subject: We are proccessing your question as soon as possible !rnrnThe following recipient(s) could not be reached:rnrntoe@gmail.comrn Error Type: SMTPrn Connection to recipients server failed.rn Error: Host name: 74.125.127.27, message: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respondrnrnTried 5 time(s)rnrnrnrnhMailServer
httplistener 并发处理同一客户端 多请求 问题
利用 <em>httplistener</em> 实现本地端口监听,并从另一个本地程序(不在同一端口)向其发送请求(get/post),通过<em>httplistener</em>的异步 BeginGetContext 实现,参考了微软 http://msdn.microsoft.com/zh-cn/library/system.net.<em>httplistener</em>(v=vs.110).aspx,rn应用场景为发送一个长轮询的请求等待是否有事件触发队列存在,此时该长轮询请求在自己的新线程中等待,并轮询事件队列,直至超时后(假设该超时值为30秒) , 或有新事件添加入该事件触发队列后返回。rnrn再发送一个异步请求,向此前 事件触发队列 添加新事件,并且尚未到达前一个长轮询请求的超时值,此时该异步请求立即返回,rnrn理想情况是此时长轮询的请求应当返回有新事件触发,rn但经过代码验证后,该长轮询请求返回了后一个异步请求的内容。rn以上是<em>问题</em>的内容,不知是否表达清楚,
HttpListener无法监听虚拟URL的问题
请教各位大神,我用<em>httplistener</em>监听了一个随机生成的网址,然后启用异步监听rn[code=csharp]rnprivate static int maxRequestHandlers = 20;rn private static int requestHandlerID = 0;rn private static HttpListener listener;rn public static void Start()rn rn listener = new HttpListener();rnlistener.Prefixes.Add("http://" + ClientId + ".c.coller.com" + (Port == 80 ? "" : ":" + Port) + "/");rnfor (int count = 0; count < maxRequestHandlers; count++)rn rn listener.BeginGetContext(RequestHandler, "" +rn Interlocked.Increment(ref requestHandlerID));rn rn Trace.WriteLine("已启动监听:" + ListenerUrl);rn break;rn rn[/code]rnrn[code=csharp]rn private static void RequestHandler(IAsyncResult result)rn rn HttpListenerContext context = null;rn tryrn rn context = listener.EndGetContext(result);rn Trace.WriteLine("当前访问:"+result.AsyncState + "," + context.Request.RawUrl);rn lock (lstHandler)rn rn lstHandler.Add(result.AsyncState.ToString());rn Trace.WriteLine("监听到的请求队列:" + string.Join(",", lstHandler.ToArray()));rn rn rn catch (ObjectDisposedException ex)rn rn Trace.WriteLine("访问出错:" + result.AsyncState + "," + ex.Message);rn return;rn rn tryrn rn if (context.Request.RawUrl.StartsWith("/c/", StringComparison.CurrentCultureIgnoreCase))rn rn new ListenerSeckill(context).DoListener();rn rn elsern rn ListenerProxy.DoListener(context);rn rn rn catch (Exception ex)rn rn context.Response.Abort();rn Trace.WriteLine("访问出错:" + result.AsyncState + ", " + context.Request.RawUrl + "," + ex.Message);rn rn finallyrn rn lock (lstHandler)rn rn lstHandler.Remove(result.AsyncState.ToString());rn Trace.WriteLine("监听到的请求队列:" + string.Join(",", lstHandler.ToArray()));rn rn if (listener.IsListening)rn rn listener.BeginGetContext(RequestHandler,rn "" + Interlocked.Increment(ref requestHandlerID));rn rn rn rn[/code]rn但是在访问这个url时,例如http://hds7a.c.coller.com/c/seckill/showstate?54365524532543,访问这个url并不能触发RequestHandler,而如果把监听的地址改成127.0.0.1,访问的url也变为127.0.0.1开头,就能正常监听,rn而且我确定http://hds7a.c.coller.com/这个随机虚拟url在2015/4/7日前是可以正常监听的,因为是已经上线的项目,但这周二一来,突然就不能用了,代码什么的都没变,请教高手这是怎么回事?
C# 关于HttpListener输入流无法读取的问题
以下代码能正常读取:rn客户端:rnbyte[] buffer = new byte[fs.Length];//分配内存rnfs.Read(buffer, 0,(int)fs.Length);//读文件rnvar v = Encoding.UTF8.GetBytes(Convert.ToBase64String(buffer));//编码 rnvar r = webClient.UploadData(url, "POST", v);//发送rn服务端rnSystem.IO.Stream s = h.Request.InputStream;//获取流rnSystem.IO.StreamReader r = new System.IO.StreamReader(s,Encoding.UTF8);//解码rnvar v = (Convert.FromBase64String(r.ReadToEnd()));//读取rnfs.Write(v, 0, v.Length);//写文件rnrn更改为以下代码时:rn客户端:rnbyte[] buffer = new byte[fs.Length];//分配内存rnfs.Read(buffer, 0,(int)fs.Length);//读文件 rnvar r = webClient.UploadData(url, "POST", buffer);//发送rn服务端:rnSystem.IO.Stream s = h.Request.InputStream;//获取流rnbyte[] buffer = new byte[s.Length];//分配内存(此处代码出现异常:该流无法查找操作)rnS.Read(buffer, 0, buffer.Length)//rnfs.Write(buffer, 0, buffer.Length);//写文件rn会出现:该流无法查找操作。rnrn网上搜索了相关内容:rn更改为一下代码:rn服务端:rnSystem.IO.Stream s = h.Request.InputStream;//获取流rnBufferedStream bs = new BufferedStream(s);//转为内存流rnbyte[] buffer = new byte[1024];//分配内存rnwhile ((i =bs.Read(buffer, 0, buffer.Length))>0) fs.Write(buffer, 0, i); //写文件(bs.Read读取返回值为0)rn仍然有错误。rnrn求大神指教。谢谢! rn
C# HttpListener 在本机测试有用,在服务器上运行,客户端无法连接!
C# HttpListener 在本机测试有用,在<em>服务器</em>上运行,客户端无法连接![图片说明](https://img-ask.csdn.net/upload/201605/29/1464531959_447895.png)nnif (!HttpListener.IsSupported)n n throw new System.InvalidOperationException(n "使用 HttpListener 必须为 Windows XP SP2 或 Server 2003 以上系统!");n n // 注意前缀必须以 / 正斜杠结尾n string[] prefixes = new string[] "http://localhost:49152/" ;n // 创建监听器.n HttpListener listener = new HttpListener();n // 增加监听的前缀.n foreach (string s in prefixes)n n listener.Prefixes.Add(s);n n // 开始监听n listener.Start();n Console.WriteLine("监听中...");n while (true)n n // 注意: GetContext 方法将阻塞线程,直到请求到达n HttpListenerContext context = listener.GetContext();n // 取得请求对象n HttpListenerRequest request = context.Request;n Console.WriteLine("0 1 HTTP/1.1", request.HttpMethod, request.RawUrl);n Console.WriteLine("Accept: 0", string.Join(",", request.AcceptTypes));n Console.WriteLine("Accept-Language: 0",n string.Join(",", request.UserLanguages));n Console.WriteLine("User-Agent: 0", request.UserAgent);n Console.WriteLine("Accept-Encoding: 0", request.Headers["Accept-Encoding"]);n Console.WriteLine("Connection: 0",n request.KeepAlive ? "Keep-Alive" : "close");n Console.WriteLine("Host: 0", request.UserHostName);n Console.WriteLine("Pragma: 0", request.Headers["Pragma"]);n // 取得回应对象n HttpListenerResponse response = context.Response;n // 构造回应内容n string responseStringn = @"n From HttpListener Servern Hello, world.n ";n // 设置回应头部内容,长度,编码n response.ContentLength64n = System.Text.Encoding.UTF8.GetByteCount(responseString);n response.ContentType = "text/html; charset=UTF-8";n // 输出回应内容n System.IO.Stream output = response.OutputStream;n System.IO.StreamWriter writer = new System.IO.StreamWriter(output);n writer.Write(responseString);n // 必须关闭输出流n writer.Close();nn if (Console.KeyAvailable)n break;n n // 关闭<em>服务器</em>n listener.Stop();
BitMap.Save()保存到流失败
BitMap.Save()保存到流<em>失败</em>,无论bmp,jpg都不行,但同样的代码Save改成保存到文件就可以,Why?
ffMpeg 解码 3gp流 失败
我的数据已接收,但是解码的时候时候 总是 : Failed to decode framern那位仁兄看过sdp以后,能告诉我,我该怎么处理来正确解码rnrnrnrnrn2011-09-29 11:20:17.524 rtsp[1172:15607] CLICKrnSending request: OPTIONS rtsp://60.191.109.197:554/service?PuId-ChannelNo=121010000100000003-01&PlayMethod=0&StreamingType=2 RTSP/1.0rnCSeq: 1rnUser-Agent: LIVE555 Streaming Media v2010.04.09rnrnrnReceived OPTIONS response: RTSP/1.0 200 OKrnCSeq: 1rnContent-Length: 0rnServer: GeVaurnPublic: DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSErnrnrnSending request: DESCRIBE rtsp://60.191.109.197:554/service?PuId-ChannelNo=121010000100000003-01&PlayMethod=0&StreamingType=2 RTSP/1.0rnCSeq: 2rnAccept: application/sdprnUser-Agent: LIVE555 Streaming Media v2010.04.09rnrnrnReceived DESCRIBE response: RTSP/1.0 200 OKrnCSeq: 2rnContent-Length: 355rnContent-Type: application/sdprnDate: Thu Sep 29 11:33:54 2011 GMTrnServer: GeVaurnrnrnNeed to read 355 extra bytesrnRead 355 extra bytes: v=0rno=- 1109162014219182 1109162014219192 IN IP4 x.y.z.wrns=Media Presentationrne=NONErnc=IN IP4 0.0.0.0rnt=0 0rna=range:npt=now-rna=control:*rnm=video 0 RTP/AVP 96rna=rtpmap:96 H264/90000rna=control:trackID=1rna=fmtp:96 profile-level-id=4D400D;packetization-mode=0;sprop-parameter-sets=Z01ADYiLcLBLQgAADhAAAr8gBAA=,aM44gA==rna=Media_header:MEDIAINFO=;rnrn2011-09-29 11:20:17.612 rtsp[1172:15607] getSDP: v=0rno=- 1109162014219182 1109162014219192 IN IP4 x.y.z.wrns=Media Presentationrne=NONErnc=IN IP4 0.0.0.0rnt=0 0rna=range:npt=now-rna=control:*rnm=video 0 RTP/AVP 96rna=rtpmap:96 H264/90000rna=control:trackID=1rna=fmtp:96 profile-level-id=4D400D;packetization-mode=0;sprop-parameter-sets=Z01ADYiLcLBLQgAADhAAAr8gBAA=,aM44gA==rna=Media_header:MEDIAINFO=;rn2011-09-29 11:20:17.613 rtsp[1172:15607] subsession preview-----------rn2011-09-29 11:20:17.614 rtsp[1172:15607] subsession-----------rn2011-09-29 11:20:17.615 rtsp[1172:15607] 6666-----------rnSending request: SETUP rtsp://60.191.109.197:554/service?PuId-ChannelNo=121010000100000003-01&PlayMethod=0&StreamingType=2/trackID=1 RTSP/1.0rnCSeq: 3rnTransport: RTP/AVP;unicast;client_port=6666-6667rnUser-Agent: LIVE555 Streaming Media v2010.04.09rnrnrnReceived SETUP response: RTSP/1.0 200 OKrnCSeq: 3rnContent-Length: 0rnTransport: RTP/AVP;unicast;client_port=6666-6667;server_port=6670-6671rnSession: 47112371rnrnrn2011-09-29 11:20:17.627 rtsp[1172:15607] RTPrn2011-09-29 11:20:17.628 rtsp[1172:15607] H264rn2011-09-29 11:20:17.629 rtsp[1172:15607] videorn2011-09-29 11:20:17.630 rtsp[1172:15607] 0rn2011-09-29 11:20:17.631 rtsp[1172:15607] 6670rnSending request: PLAY rtsp://60.191.109.197:554/service?PuId-ChannelNo=121010000100000003-01&PlayMethod=0&StreamingType=2 RTSP/1.0rnCSeq: 4rnSession: 47112371rnRange: npt=0.000-rnUser-Agent: LIVE555 Streaming Media v2010.04.09rnrnrnReceived PLAY response: RTSP/1.0 200 OKrnCSeq: 4rnContent-Length: 0rnDate: Thu Sep 29 11:33:54 2011 GMTrnSession: 47112371
2003WEB服务器流量大
我们有一台2003的WEB<em>服务器</em>,上面放了几十个网站,<em>服务器</em>流量特别的大,如何找出哪个网站的流量比较大?谢了
求助 调用linux命令失败问题
在java里,调用linux命令。我怎么知道命令是<em>失败</em>还是成功的呢?我怎么获得<em>失败</em>的信息呢?
WCF引用失败问题求助
我点发现按钮,找到的服务路径为http://localhost:1559/DGService.svcrn但是[img=https://img-bbs.csdn.net/upload/201305/19/1368953212_94447.png][/img]rn出错了rnrn我想起DGService.svc文件是在sample.Web项目下的rn于是我修改路径为http://localhost:1559/sample.Web/DGService.svcrn但是[img=https://img-bbs.csdn.net/upload/201305/19/1368953335_776414.png][/img]rn究竟怎么回事?rnrn我的web配置如下:rn[code=html]rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn [/code]rnrn<em>求助</em>啊,谢谢了rn
注册表的问题,导入失败求助
新装的系统,备份了注册表,导入<em>失败</em>。提示部分进程未关闭。rn进入安全模式仍然出现相同提示。rn还有,想问,安全模式下出现admininstrator,账号密码是怎么初始设置的,rn是在bios下设的吗?rn
red5流服务器
red5-server 流媒体<em>服务器</em>安装工具,直接解压启动服务
关于免流服务器
搞免流<em>服务器</em>的人实在是太多了,因为我流量不是不够用,所以一直没关注,就是在今年夏天,我才有幸去搞一下。 正好腾讯云学生<em>服务器</em>一块钱一个月,但是后来不知怎么不给我发代金券了,我也就没有再搞,因为实际意义不大,这个就几个朋友在用,也不能拿去挣钱了,因为搞的人多,也开始有人查了听说。 好,搭建这个免流<em>服务器</em>是非常简单的,需要有台<em>服务器</em>,装centos系统,然后网上有各种脚本,视频教程,我开始
一键免流服务器
一键免流<em>服务器</em>可以免费上网,使用移动流量
求助】一个数据库更新失败问题
我的数据库如下rnString sql="create table if not exists "+TB_NAME+"(" +rn "USERID varchar," +rn "TOKEN varchar," +rn "TOKENSECRET varchar," +rn "USERNAME varchar varchar," +rn "USERICON blob"+rn ")";rnrn更新数据的代码如下rnContentValues values = new ContentValues();rn values.put("USERNAME", userName);rn final ByteArrayOutputStream os = new ByteArrayOutputStream();rn userIcon.compress(Bitmap.CompressFormat.PNG, 100, os);rn values.put("USERICON", os.toByteArray());rn Log.e("UserId", UserId + "");rn Log.e("USERNAME", userName + "");rn Log.e("USERICON", os.toByteArray() + "");rn int id = db.update(SqliteHelper.TB_NAME, values, "USERID = " + UserId, null);rn db.close();rnrn程序执行完毕没有报错过,但是数据库里USERNAME一直是空值NULL,我开始以为是sql语句中没加 ' 和 ' 的<em>问题</em>,所以我改了下int id = db.update(SqliteHelper.TB_NAME, values, "USERID = '" + UserId + "'", null);但是执行程序USERNAME字段的值任然是NULL,想请教下,还有可能是我哪里的疏忽呢?rnrn
求助:调用PostMessage失败问题
在多线程中,我为每条线程创建一个不可见的窗体,然后代替掉他的消息处理函数,然后调用PostMessage,开始调用几次返回成功,再调用就老是返回<em>失败</em>。请问有可能是什么原因,谢谢!
SRS服务器推流
本系统为Centos7,具体步骤如下。 (1)安装SRS [root@vultr ~]# git clone https://github.com/ossrs/srs [root@vultr ~]# cd srs/trunk [root@vultr trunk]# ./configure &amp;&amp; make [root@vultr trunk]# cd conf [root@vultr...
回显流服务器
TCP: <em>服务器</em>: # _*_ coding: utf-8 _*_ import socket srvsock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) srvsock.bind(('', 23000)) srvsock.listen(5) while 1: # 循环处理各个客户机连接 # 调用ac...
MAC . 推流服务器
A: 下载和安装 。按一下顺序 1、pcre:ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ 1、./configure 2、make 3、make install 2、zlib:http://www.zlib.net/ 1、./configure 2、make ...
推流服务器 记录
工具:EasyDarwinEasyPusher
求助服务器双网卡问题
在<em>服务器</em>上装了两个网卡,一个是内网、一个是外网,实现内外网可以同时访问这个<em>服务器</em>上的网站,刚开始蛮好的,可是过段时间外网卡就不能用了,要“禁用”重新开启,才能使用,非常不稳定。大家遇到过这种情况吗?
求助关于服务器问题
今天我的linux<em>服务器</em>出现这样的<em>问题</em>,我怀疑是中了网马了,一个文件夹下面的东西rn 1.不可以删除,rn 2.修改他之后 又变成原来的样子。rn 3.修改他的文件夹之后,发现又生成了同样的一个。rn 郁闷啊
求助!!服务器与SQL的问题
<em>服务器</em>操作系统与自己机器一样,2003 enterprise editionrnrnSQL也和自己机器一样 sql2000 enterprise editionrnrn但是同样的东西拿到<em>服务器</em>上就运行不了,后来发现<em>服务器</em>上的SQL运行后,系统进程里却没有sqlservr.exe这个进程,但是SQL论坛什么的全运行正常!rnrn本机是有的,XP系统里装SQL个人版也有,为什么<em>服务器</em>就不一样呢? 第一次租<em>服务器</em>, 为这个<em>问题</em>困扰很多天了,望高手解答!
求助 服务器断线问题
公司的<em>服务器</em>过了1天到2天,就不能上网了,重装<em>服务器</em>,还是老<em>问题</em>.rn配置防火墙等硬件设备后,<em>问题</em>依旧.rn请问高手是硬件<em>问题</em>,还是系统<em>问题</em>?如何解决?
求助服务器返回值的问题
我用localhost启动时候<em>服务器</em>返回的值可以接收到rnrn但是把localhost改成IP地址登入时候时候返回值就不能接收到rnrn<em>求助</em>大牛解决的方法
求助,服务器刷新数据问题
想达到:rn<em>服务器</em>不断地从别的网站上面获取实时的数据,存储到数据库中.rnrn1. 用PHP去实现,客户打开某个网页我就开始定时刷新(js)rn2. 我用其它的工具譬如delphi去做一个程序,放到<em>服务器</em>上面,定时不断地去读取别的网站上面的数据,然后放到数据库中,我的IE客户端就不用定时地去刷新,直接访问数据库即可.rnrn请问各位大侠,还有别的方法吗?
求助关于服务器问题!!
我要用JAVA编写一个类似QQ、联众游戏的<em>服务器</em>端,我该如何实现它?有没有人做过类似的程序啊。可以借来参考下吗?给予帮助的都加分
201710222120->利用httplistener实现简易服务器(未含逻辑及数据库)
目的: 利用请求的url参数来判断走哪一条协议 然后执行协议下指定的方法就可以勒 关键点: 1.<em>httplistener</em>获取请求 2.<em>httplistener</em>拿请求参数 3.反射Assembly,利用类名实例化字符串 详细代码: --------------------------Program.cs--------------------------     internal
i2c概率性读失败
设备重启,uboot重启过程中先通过PMbus协议写了两个寄存器,然后通过PMbus协议读取slave的一个寄存器, 为了调查<em>问题</em>,多读了几遍。概率性会读<em>失败</em>,通常重启十几次能复现一次rnrnrn正常情况下读出内容如下:rn0x04 0x00 0x10 0x80rn0x04 0x00 0x10 0x80rn0x04 0x00 0x10 0x80rnrn<em>失败</em>的情况下读出内容如下:rn0xFF 0xFF 0xFF 0xFF ----偶尔第一次读出全FF。rn0x04 0x00 0x10 0x80rn0x04 0x00 0x10 0x80rnrnlinux 启动, boot后,通过app读取有类似情况。偶尔第一次读是FF,再读一次就好了。rnrnrn可能是什么<em>问题</em>呢,怎么定位,求指教。rnrnrnrn
ReadProcessMemory读内内存失败
我用OpenProcess 获得了all 的权限 为什么还是<em>失败</em>呢。我用同样的方法换成计算器进程就会成功。rn是不是那个进程里面动了什么手脚。.
串口循环读失败……求救!
我用了一个循环来反复监测串口,一旦发现有数据就进行读操作,但发现只有在第一次数据进入的时候,我的读操作是成功的,而在第二次数据进入时,读操作却总是<em>失败</em>,这是为什么?还有在第一次读完数据后,系统是不是自动将串口缓冲区数据清空?
i2c 概率性读失败
设备重启,uboot重启过程中先通过PMbus协议写了两个寄存器,然后通过PMbus协议读取slave的一个寄存器, 为了调查<em>问题</em>,多读了几遍。概率性会读<em>失败</em>,通常重启十几次能复现一次rnrnrn正常情况下读出内容如下:rn0x04 0x00 0x10 0x80rn0x04 0x00 0x10 0x80rn0x04 0x00 0x10 0x80rnrn<em>失败</em>的情况下读出内容如下:rn0xFF 0xFF 0xFF 0xFF ----偶尔第一次读出全FF。rn0x04 0x00 0x10 0x80rn0x04 0x00 0x10 0x80rnrnlinux 启动, boot后,通过app读取有类似情况。偶尔第一次读是FF,再读一次就好了。rnrnrn可能是什么<em>问题</em>呢,怎么定位,求指教。rn
读存储过程返回值失败 求救
public int GetShootID() rn rn int rs=999;rn Cmd = new SqlCommand();rn Cmd.Connection = Conn;rn Cmd.CommandType = CommandType.StoredProcedure;rn Cmd.CommandText = "WD_GetShootID";rn Cmd.Parameters.AddWithValue("@WD_MasterID", MasterID);rn Cmd.Parameters.AddWithValue("@WDShootDateTime", ShootDateTime);rn OpenDB();rn rs = Convert.ToInt32(Cmd.ExecuteScalar());rn CloseDB();rn return rs;rn rn//其中 MasterID,ShootDateTime 为已设置的属性 intrnrnrnrnALTER PROCEDURE WD_GetShootIDrn(rn@WD_MasterID int,rn@WDShootDateTime smalldatetimern)rnASrn SET NOCOUNT ONrn DECLARE @IsCount intrn DECLARE @InsID intrn SET @IsCount=(Select Count(*) from WorkDateForMaster Where WD_MasterID=@WD_MasterID and WDShootDateTime=@WDShootDateTime)rn rn IF (@IsCount=0)rn BEGINrn Insert into WorkDateForMaster (WD_MasterID,WDShootDateTime) values(@WD_MasterID,@WDShootDateTime) rn set @InsID=(Select WDID FROM WorkDateForMaster WHERE WDShootDateTime=@WDShootDateTime AND WD_MasterID=@WD_MasterID)rn RETURN @InsIDrn ENDrn ELSErn BEGINrn set @InsID=(Select WDID FROM WorkDateForMaster WHERE WDShootDateTime=@WDShootDateTime AND WD_MasterID=@WD_MasterID)rn RETURN @InsIDrn ENDrn ---上面是存储过程rnrnrn通过执行存储过程调试能够正确返回 值到调试输出框.rnrn但是通过 GetShootID() 取值总是0rnrn程序/存储过程中有什么不对的地方请指教....rnrnrn表WorkDateForMaster 中 列 WDShootDateTime DateTime ,WD_MasterID int
httplistener实现的http服务器支持realplayer拖放的问题
用<em>httplistener</em>做了个文件<em>服务器</em>, 用浏览器下载或下载工具都没发现什么<em>问题</em>, 但是用realplayer播放上面的rmvb文件就经常发生无法拖放的<em>问题</em>, 这<em>问题</em>是几率发生的, 其中向前拖放时90%会播不了, 向后拖放时播不了的几率要低一些. 程序中报的异常都很常规, 无非是提示客户端已断开之类的.rn确定不是realplayer的<em>问题</em>, 因为我把rmvb丢到iis里播放, 怎么拖都没<em>问题</em>.rn下面是实现代码, 麻烦大牛们看看<em>问题</em>在哪. 有兴趣的话留个邮箱, 我发完整代码. vb版人气没这好, 反正语言间的沟通不是<em>问题</em>。rn[code=VB.NET]rn'定义一个BackgroundWorker,用于侦听。rnPrivate WithEvents HttpWork As New System.ComponentModel.BackgroundWorkerrnPrivate HttpServer As New Net.HttpListenerrnPrivate Sub Start()rn HttpServer.Prefixes.Add("http://*/")rn HttpServer.Start()rn HttpWork.RunWorkerAsync()rnend subrnPrivate Sub HttpWork_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles HttpWork.DoWorkrn Dim HttpInt As HttpInterface '用于处理Context的类rn Dim HttpContent As Net.HttpListenerContextrn Dim _Run as boolean=Truern _Run = MediaCloudCommonLibrary.ThreadState.Runningrn While _Runrn Tryrn HttpContent = HttpServer.GetContextrn HttpInt = New HttpInterfacern HttpInt.Accept(HttpContent)rn HttpInt.Run()rn Catch ex As Exceptionrn _Run=Falsern End Tryrn End WhilernEnd Subrn[/code]rn'下面是HttpInterface类rn[code=VB.NET]rnPublic Class HttpInterfacern Private HttpContent As Net.HttpListenerContextrn Private _InUse As Booleanrn Private _ActiveTime As Datern Private WithEvents SWork As New System.ComponentModel.BackgroundWorkerrn Private _Fs As IO.FileStreamrn Public Sub New()rn _InUse = Falsern _ActiveTime = Date.Nowrn End Subrn Public Sub Accept(ByRef lContent As Net.HttpListenerContext)rn HttpContent = lContentrn End Subrn Public Sub Run()rn SWork.RunWorkerAsync()rn End Subrn Private Sub ProcsHttpCmd()rn Dim Dgram As New Dgramrn Dim StrRes As Stringrn Dim Offset As Longrn Dim ReqURL As String = HttpContent.Request.Url.AbsolutePath.Trimrn If HttpContent.Request.Headers("Range") <> "" Thenrn StrRes = HttpContent.Request.Headers("Range").ToLower.Trimrn If StrRes.StartsWith("bytes=") Thenrn StrRes = StrRes.Replace("bytes=", "")rn If StrRes.Contains("-") Thenrn StrRes = StrRes.Substring(0, StrRes.IndexOf("-")).Trimrn End Ifrn Tryrn Offset = CLng(StrRes)rn Catch ex As Exceptionrn Offset = 0rn End Tryrn Elsern Offset = 0rn End Ifrn Elsern Offset = 0rn End Ifrn '为了方便调试,我将打开的文件指定了,你可以随便挑个rmvb文件测试,在下面指定rn _Fs = IO.File.Open("D:\Cartoon\12.战栗的总谱\战栗的总谱.rmvb", IO.FileMode.Open, IO.FileAccess.Read, IO.FileShare.Read)rn 'GetExtension用于获取ReqURL的扩展名。rn SetHttpContentHead(Service.GetExtension(ReqURL), Offset, _Fs.Length)rn SendFileData(Offset)rn End Subrn Private Sub SendFileData(ByVal Offset As Long)rn Dim _SendRun As Boolean = Truern Dim Buf(32767) As Bytern Dim ReadLen As Integerrn _Fs.Position = Offsetrn While _Fs.Position < _Fs.Length And _SendRunrn Tryrn ReadLen = _Fs.Read(Buf, 0, 32768)rn HttpContent.Response.OutputStream.Write(Buf, 0, ReadLen)rn Catch ex As Exceptionrn '此处打印错误信息,但我没有发现有价值的错误。rn Debug.Print(ex.Message & ex.StackTrace)rn _SendRun = Falsern End Tryrn End Whilern Tryrn _Fs.Close()rn Catch ex As Exceptionrn End Tryrn Tryrn HttpContent.Response.OutputStream.Flush()rn HttpContent.Response.OutputStream.Close()rn Catch ex As Exceptionrn End Tryrn End Subrn Private Sub SendHttpError(ByVal ErrStr As String)rn Dim HtmlContent As Stringrn Dim Buf() As Bytern '遇到错误时打印反馈信息,也没有发现什么错误。rn Debug.Print(ErrStr)rn Tryrn Threading.Thread.CurrentThread.CurrentCulture = New Globalization.CultureInfo("en-US")rn HtmlContent = " Internal Error" & ErrStr & "" & vbCrLfrn Buf = System.Text.Encoding.Default.GetBytes(HtmlContent)rn With HttpContent.Responsern .StatusCode = 404rn .StatusDescription = "Not Found"rn .ContentType = "text/html; charset=GB2312"rn .Headers("Server") = "MediaCloudSystem/1.0"rn .AddHeader("Date", Date.UtcNow.ToString("ddd, d MMM yyyy hh:mm:ss") & " GMT")rn End Withrn Threading.Thread.CurrentThread.CurrentCulture = New Globalization.CultureInfo("zh-CN")rn HttpContent.Response.OutputStream.Write(Buf, 0, Buf.Length)rn HttpContent.Response.OutputStream.Flush()rn HttpContent.Response.OutputStream.Close()rn Catch ex As Exceptionrn Debug.Print(ex.Message & ex.StackTrace)rn End Tryrn End Subrn Private Sub SetHttpContentHead(ByVal Extension As String, ByVal Offset As Long, ByVal TotalLength As Long)rn Dim ContentLength As Long = TotalLength - Offsetrn If Offset = 0 Thenrn HttpContent.Response.StatusCode = 200rn HttpContent.Response.StatusDescription = "OK"rn Elsern HttpContent.Response.StatusCode = 206rn HttpContent.Response.StatusDescription = "Partial Content"rn HttpContent.Response.AddHeader("Content-Range", "bytes " & Offset & "-" & TotalLength - 1 & "/" & TotalLength)rn End Ifrn 'FixMIMEType根据传进来的扩展名获取mime类型,做法是从注册表读取,rmvb对应的是application/vnd.rn-realmedia-vbrrn HttpContent.Response.ContentType = Service.FixMIMEType(Extension)rn HttpContent.Response.AddHeader("Accept-Ranges", "bytes")rn HttpContent.Response.Headers("Server") = "MediaCloudSystem/1.0"rn HttpContent.Response.ContentLength64 = ContentLengthrn Threading.Thread.CurrentThread.CurrentCulture = New Globalization.CultureInfo("en-US")rn '这里应该传递文件的修改时间,我问了省事,调试时都传Now。实际上传修改时间<em>问题</em>依旧发生rn HttpContent.Response.AddHeader("Last-Modified", Date.UtcNow.ToString("ddd, d MMM yyyy hh:mm:ss") & " GMT")rn HttpContent.Response.AddHeader("Date", Date.UtcNow.ToString("ddd, d MMM yyyy hh:mm:ss") & " GMT")rn Threading.Thread.CurrentThread.CurrentCulture = New Globalization.CultureInfo("zh-CN")rn End Subrn Private Sub SWork_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles SWork.DoWorkrn Tryrn ProcsHttpCmd()rn Catch ex As Exceptionrn Debug.Print(ex.Message & ex.StackTrace)rn SendHttpError(ex.Message)rn End Tryrn Dispose()rn End SubrnEnd Classrn[/code]rn再附上用到的自定义函数rn[code=VB.NET]rn Private MIMEList as SortedList(Of String, String)=Nothingrn rn Public Shared Function MIMEList() As SortedList(Of String, String)rn If _MIMEList Is Nothing Thenrn _MIMEList = New SortedList(Of String, String)rn Dim v As Stringrn Dim r As Microsoft.Win32.RegistryKeyrn Dim rk As Microsoft.Win32.RegistryKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("SOFTWARE\Classes\MIME\Database\Content Type")rn For Each s As String In rk.GetSubKeyNamesrn r = rk.OpenSubKey(s)rn Tryrn v = r.GetValue("Extension").ToStringrn _MIMEList.Add(v.ToLower, s)rn Catch ex As Exceptionrnrn End Tryrn r.Close()rn Nextrn rk.Close()rn If _MIMEList.ContainsKey(".rmvb") = False Thenrn _MIMEList.Add(".rmvb", "application/vnd.rn-realmedia-vbr")rn End Ifrn If _MIMEList.ContainsKey(".rm") = False Thenrn _MIMEList.Add(".rm", "application/vnd.rn-realmedia")rn End Ifrn 'Load MimeList From Registryrn End Ifrn Return _MIMEListrn End Functionrnrn Public Shared Function FixMIMEType(ByVal Ext As String) As Stringrn If Ext.StartsWith(".") = False Thenrn Ext = "." & Extrn End Ifrn If MIMEList.ContainsKey(Ext.ToLower) Thenrn Return MIMEList.Item(Ext.ToLower)rn Elsern Return "application/octet-stream"rn End Ifrn End Functionrnrn Public Shared Function GetExtension(ByVal FileName As String) As Stringrn If FileName.Contains(".") Thenrn Dim p As Integer = FileName.LastIndexOf(".")rn Return FileName.Substring(p, FileName.Length - p)rn Elsern Return ""rn End Ifrn End Functionrn[/code]
C# HttpListener 端口被占用的问题 求教
HttpListener 80端口被占用,只要start 就会报错“另一个程序正在使用此文件,进程无法访问。”rnrn想问 如何查出哪个程序占用了80端口 被关闭它?rnrn相关代码:rnrn[code=C#] rn HttpListener listener = new HttpListener();rn listener.Prefixes.Add("www.163.com");rn listener.Start(); //开始监听端口,接收客户端请求rnrn[/code]
E书教程-Ebook workshop下载
E book workshop.电子图书是电子出版物中最常见的文献形式,其主要载体为磁盘和CD-ROM光盘。本书主要讲述如何制作电子书。 相关下载链接:[url=//download.csdn.net/download/asunnydylan/2103291?utm_source=bbsseo]//download.csdn.net/download/asunnydylan/2103291?utm_source=bbsseo[/url]
电子设计 pcb 图 经典下载
电子设计大赛芯片资料电子设计大赛芯片资料电子设计大赛芯片资料电子设计大赛芯片资料电子设计大赛芯片资料电子设计大赛芯片资料电子设计大赛芯片资料电子设计大赛芯片资料电子设计大赛芯片资料电子设计大赛芯片资料电子设计大赛芯片资料电子设计大赛芯片资料电子设计大赛芯片资料电子设计大赛芯片资料电子设计大赛芯片资料电子设计大赛芯片资料电子设计大赛芯片资料电子设计大赛芯片资料电子设计大赛芯片资料电子设计大赛芯片资料电子设计大赛芯片资料电子设计大赛芯片资料电子设计大赛芯片资料电子设计大赛芯片资料电子设计大赛芯片资料电子设计大赛芯片资料电子设计大赛芯片资料电子设计大赛芯片资料电子设计大赛芯片资料电子设计大赛芯片资料 相关下载链接:[url=//download.csdn.net/download/qq313877956/2332562?utm_source=bbsseo]//download.csdn.net/download/qq313877956/2332562?utm_source=bbsseo[/url]
c语言函数功能示例查询软件下载
c语言函数查询软件,可以迅速查到相应的函数的详细说明,包括示例以及各种参数等等。方便快捷!! 相关下载链接:[url=//download.csdn.net/download/matrix_01/2485768?utm_source=bbsseo]//download.csdn.net/download/matrix_01/2485768?utm_source=bbsseo[/url]
我们是很有底线的