Jeg har gang i en webserver, og den giver et svar. Problemet er bare at det ikke er et gyldigt svar.
Når man bare kalder linket, så kommer svaret også fint nok frem i de fleste tilfælde, men i nogle tilfælde når svaret aldrig frem, og webserveren stopper helt med at svare.
Samtidig har jeg via ASP prøvet at kontakte serveren, og der er svaret så "The server returned an invalid or unrecognized response"
Den har SendHeader med i, hvor den burde blive lavet, men det kommer vist aldrig til hvor der faktisk bliver sendt et svar. Efter at jeg forsøgte at koble det på, så fik jeg bare det hele på samme side som svaret, og samtidig samme besked om ugyldigt svar.
Jeg har aldrig selv prøvet at lave en webserver, men det ser ud til at du er ved at lave ... så det er nok i den retning jeg vil kigge ... altså hvordan man opbygger det.
Også det jeg har gjort indtil nu, problemet er bare at alt jeg kan finde om det, er alt bygget op omkring samme guide jeg fulgte da jeg lavede min. Og de har alle dette problem.
Kombinere det med min ufatteligt brede viden om c#... eller mangel på samme, så giver det nogle problemer... :-/
System.Net.HttpListenerException: Adgang nægtet ved System.Net.HttpListener.AddAll() ved System.Net.HttpListener.Start() ved httplistener_test.Form1..ctor() i C:\Users\Parx\AppData\Local\Temporary Projects\httplistener test\Form1.cs:linje 17
som er ved "HttpListenerContext ctx = listener.GetContext();"
Porten er fri, og med den ip kan det vel ikke blive forkert der?
Har testet på 4 forskellige maskiner nu, de giver alle den samme fejl som jeg postede før. Så jeg må gøre et eller andet forkert hvor jeg vil åbne den?
Det er sådan set det største problem jeg har lige nu, hvor jeg kun får: System.Net.HttpListenerException: Adgang nægtet ved System.Net.HttpListener.AddAll() ved System.Net.HttpListener.Start() ved httplistener_test.Form1..ctor() i C:\Users\Parx\Documents\Visual Studio 2008\Projects\httplistener test\httplistener test\Form1.cs:linje 22
som er "listener.Start();"
har prøvet forskellige iper som er tildelt maskinen som det skal køre på, og forskellige porte, hvor jeg er 100% sikker på at portene ikke er i brug af noget andet.
På denne har jeg Windows 7 x64 hvor den fejl kommer, den kommer også på mit mediecenter, og så har jeg 2 stk windows 2003 enterprice hvor jeg også får den fejl på...
Der er kun noget antivirus på begge windows 7 maskinerne, og så firewallen på de to 2003 maskiner...
Men selv om jeg ekstra laver en undtagelse for den fil i firewall, får jeg stadig den fejl.
Prøver at installere xp i en VM for at se om det også sker der...
ved System.Net.HttpListener.AddAll() ved System.Net.HttpListener.Start() ved WindowsFormsApplication1.Form1.button1_Click(Object sender, EventArgs e) i C:\Users\Parx\AppData\Local\Temporary Projects\WindowsFormsApplication1\Form1.cs:linje 24 ved System.Windows.Forms.Control.OnClick(EventArgs e) ved System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) ved System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) ved System.Windows.Forms.Control.WndProc(Message& m) ved System.Windows.Forms.ButtonBase.WndProc(Message& m) ved System.Windows.Forms.Button.WndProc(Message& m) ved System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) ved System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) ved System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg) ved System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData) ved System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context) ved System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context) ved WindowsFormsApplication1.Program.Main() i C:\Users\Parx\AppData\Local\Temporary Projects\WindowsFormsApplication1\Program.cs:linje 18 ved System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args) ved Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() ved System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) ved System.Threading.ThreadHelper.ThreadStart()
det må så betyde at det er en ustabil 'komponent' at bruge... Der sker det samme på alle fire maskiner, plus den VM med XP jeg lige fik op og køre...
har ingen ide om hvad der kan være galt, efter som den kun fortæller mig at adgang er nægtet, men ikke hvad adgangen faktisk er nægtet til...
Dog, hvis jeg åbner programmet to gange, så begge kører på samme tid, så skriver nummer to at recoursen allerede er i brug, så det må jo betyde at den åbner et eller andet, men så alligevel ikke...
Der er vel et par hundrede millioner Windows maskiner world wide som har den installeret og nogle titusinder af udviklere som har brugt den world wide. Uden problemer.
Et eller andet må der jo være galt med det, siden at jeg kan få en kode der virker, til ikke at virke på 4 forskellige maskiner, plus en VM som er spredt over 3 forskellige styre systemer...
Hvad port bruger du blod_1 ? Kan du poste den kode du prøver ? Så jeg kan da også prøve det ... bare for at slå fast om du har ret eller det er dine maskine der måske alle har samme fejl.
De koder jeg har prøvet har jeg allerede postet, har også linket til en rar fil med alt i det lille test projekt jeg lavede. Både dem, og så det arne_v kan få til at virke, fejler alle på mine maskiner.
Af porte har jeg prøvet en masse tilfældigt fra ca 2000 op til ca 9000
Og hvis jeg sætter noget andet til at køre på den port, så virker det fint, så porten burde der ikke være noget galt med.
Fatter jeg ikke, det er det samme jeg har... Og ingen af mine maskiner vil... Ikke engang en frisk install af XP uden noget som helt, hvor kun lige .net er blevet installeret...
Nu begynder det her at blive rigtig mærkeligt... Jeg har fået det til at fungere på mine Windows 2003 maskiner, når jeg deakiverer avast på min ene windows 7 maskine, så kan de starte den op uden fejl. Hvis jeg aktiverer det, så kommer der fejl igen.
Nu har jeg så bare fået et helt andet problem, når
HttpListener websrv = new HttpListener(); websrv.Prefixes.Add("http://127.0.0.1:5051/"); websrv.Start();
bliver aktiveret, så forsvinder formen... den kører stadig i oversigten, men vinduet er ikke længere synligt...
og det er med denne kode
using System; using System.ComponentModel; using System.Windows.Forms; using System.Net;
namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); }
Det mærkelige er så... At den antivirus jeg deaktiverer, ikke er på de maskiner som giver fejlene... Aktiverer jeg den på min maskine som jeg sidder ved nu, så holder den lille kode stump op med at fungere på min server, som så også er på samme netværk, men stadigmærkeligt at antivirus på denne kan ødelægge det på den anden?
Det næste er så hvordan man får den til at virke sammen med en form... Programmet der skal bruge det bruger det der sker på formen til en del imens det kører.
Status er så nu at den kan virke på mine windows 2003 maskiner, men at formen fryser når HttpListener bliver startet, dog fungerer den udemærket, kun formen som ikke svarer.
Har forsøgt at lave noget med hvor den lavede en anden tråd til den og hvor den kører i en løkke, samme resultat hver gang. Kan det virkeligt passe at så længe den kører, så kan man ikke lave andet?
I må undskylde det meget sene svar, men endte med at blive godt og grundigt træt af det hele, men nu har jeg fået kigget på det, og fundet løsningen også.
Problemet med Windows 7 er at det kræver specielle rettigheder for at få lov til at starte en http listener, hvor de andre er ligeglade. Samtidig med det så var der så også noget antivirus som mente at det var noget farligt noget.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.