20. november 2012 - 16:05
Der er
19 kommentarer
UDP port, allerede i brug
Hej alle! Jeg får en fejl når jeg kører min void, hvor den pt. connecter til CS. public void test() { int port = 5001; UdpClient udp = new UdpClient(port); } Den virker fint nok første gang, men kører jeg den igen, så fejler den. Jeg får følgende fejl: "Normalt må en socket-adresse (protokol/netværksadresse/port) kun bruges én gang" Er klar over, at den selvfølgelig ikke kan køres igen. Men jeg har prøvet at smide try catch på. Men jeg har bare ikke mulighed for at lukke den, som jeg gerne ville (udp.Close()). Er der nogen, som kan løse denne for mig?
Annonceindlæg fra Computerworld
Gefion skaber fremtidens AI
Supercomputeren Gefion er Danmarks nye AI-kraftværk og skal sikre, at både forskning og virksomheder kan være med i den teknologiske front.
14. august 2025
20. november 2012 - 23:55
#1
Det varer normalt lidt tid fra applikationen lukker en port til at den er klar til en ny applikation.
21. november 2012 - 18:54
#2
Det er i samme applikation, Arne. Der må vel findes en løsning, på en eller anden måde?
21. november 2012 - 19:02
#3
Om det er X open X close Y open Y close eller X open X close X open Y close tror jeg ikke goer nogen forskel. Andet end at det er nemmere at loese. Naar det er samme app kan du jo undlade at lukke og genbruge.
21. november 2012 - 20:49
#4
Jamen problemet er, hvis serveren har været nede og den skal etablere forbindelse igen. Så siger den porten allerede er i brug. Det er mere det, hvor jeg har brug for en løsning.
21. november 2012 - 22:19
#5
Er det kode for den server som er genstartet eller kode for den klient som snakker med den server som er genstartet?
21. november 2012 - 22:19
#6
Og der er ikke noget som hedder forbindelse i UDP.
22. november 2012 - 13:47
#7
Det er når CS serveren går ned, så kan min applikation ikke køre videre med den port. Jeg kan jo ikke åbne alle porte pga. det. Så det ville jo være fedt, hvis man kunne lukke evt. porte ned som bliver brugt.
22. november 2012 - 18:06
#8
Du har en client app som er skrevet i C#. Den kommunikerer via UDP med en CS server. CS server bliver genstartet. Korrekt? Og hvorfor skulel der vaere behov for at goere noget som helst paa client? (med TCP skulle du reconnecte men UDP er anderledes)
23. november 2012 - 16:32
#9
Ja det er korrekt. Fordi det kører over en UDP socket. Derfor jeg bruger UDP.
23. november 2012 - 16:56
#10
Du har ikke forklaret hvorfor det er noedvendigt at lave en ny UdpClient.
24. november 2012 - 17:38
#11
For at komme i kontakt med serveren igen. Den skal bruge en log port for at modtage data. Hvis porten er i brug, så skal den lukke den ned og starte en ny op igen. (Samme port nummer).
24. november 2012 - 19:29
#12
Jeg gentager: UDP har ikke noget forbindelse begreb. Du behoever ikke at goere noget for at client og server kan sende til hinanden igen. Hvis der er noget hoejere oppe i protokol laget som skal reinitialiseres, saa kan du goere det med samme UdpClient.
25. november 2012 - 13:30
#13
Jamen den skal bruge en log port via UDP, og hvis den allerede er i brug, så skal den lukkes ned og startes op igen. Hvis jeg blot kører samme UDP, så kommer den med fejl. At porten allerede er i brug..
25. november 2012 - 15:38
#14
Hvis du undlader at lave en ny UdpClient kan den naeppe sige at porten er i brug!
25. november 2012 - 19:04
#15
Ja, men hvad så med "UdpClient udp = new UdpClient(port);" Jeg skal jo bruge udp med log porten i selve scriptet.
25. november 2012 - 19:09
#16
Hvis ikke client har vaeret genstartet, saa har du jo stadig den gamle UdpClient eller hvad?
01. december 2012 - 17:56
#17
Jeg kører den i en foreach, så jeg f.eks. kan køre flere servere. Men ellers ja, så er den stadig sat. Problemet er bare, at jeg modtager bare ikke info. Før den får en ny log port.
01. december 2012 - 21:30
#18
skal der laves noget handshake/login med serveren?
02. december 2012 - 11:07
#19
Nej, det eneste login der er, det er via rcon password. Men det bliver sendt til serveren, for at den kan modtage data.
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.