AMIGA-RESISTANCE

Die Projektseite für alles rund um den Amiga
Aktuelle Zeit: 28 Mär 2024, 12:44

Alle Zeiten sind UTC


 

 

 



Ein neues Thema erstellen  Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Problem mit den Network Befehlen
BeitragVerfasst: 02 Apr 2017, 16:04 
Offline
Alter Hase
Benutzeravatar

Registriert: 31 Mai 2016, 16:12
Beiträge: 63
Postleitzahl: 53489
Land: Deutschland
Wohnort: Sinzig / Rhein
Hallo

Bin gerade mal ein wenig mit einer kleinen Server/Client Anwendung beschäftigt, komme aber nicht so recht weiter.

Hier mal ein kleiner Code, funktioniert auch soweit, leider allerdings bestenfalls auf 80er Jahre Niveau als noch Serielle- Datenübertragung modern war. :oops:

Server:
;SERVER
;Hollywood 7

SetDefaultEncoding(#ENCODING_ISO8859_1, #ENCODING_ISO8859_1)



Function Connect(msg)
	client_id=msg.clientid
	DebugPrint(client_id)
EndFunction


Function DisConnect(msg)
	CloseConnection(msg.id)
EndFunction


Function receive(msg)
	data$ = ReceiveData(client_id, #RECEIVELINE)
	If data$ = "cmd:bereit"
		send(msg)
	EndIf
EndFunction


Function send(msg)
	file_Pfad$ = FileRequest("Eine große Datei zum senden wählen", "*")
	OpenFile(1, file_Pfad$)
	file$ = ReadBytes(1)
	SendData(msg.id, file$)
EndFunction

;*************************************************************************************************

CreateServer(1,80)

InstallEventHandler({OnConnect=Connect, OnDisconnect=DisConnect, onreceivedata=receive})

Repeat
	CheckEvent
	Wait(1)
Forever
Client:
;CLIENT
;Hollywood 7

SetDefaultEncoding(#ENCODING_ISO8859_1, #ENCODING_ISO8859_1)


Function receive()
	data$ = ReceiveData(1, #RECEIVEALL, False)
	DebugPrint("Alle Daten empfangen")
EndFunction





InstallEventHandler({onreceivedata=receive})
OpenConnection(1, "localhost", 80)
SendData(1,"cmd:bereit")

Repeat
	CheckEvent
	Wait(1)
Forever
Das Problem bei diesem Code ist, sobald der Serve einen Klienten bedient, ist er für weiter Klienten nicht mehr ansprechbar bis der erste Klient alle Daten erhalten hat.
Hmm, irgendwie hat das nichts mit einem Server zu tun.
Eigentlich sollte er ja senden, aber gleichzeitig weitere Klienten bedienen können.

Vielleicht kann hier ja jemand helfen.

Grüße, Michael


Nach oben
   
 Betreff des Beitrags: Re: Problem mit den Network Befehlen
BeitragVerfasst: 03 Apr 2017, 16:32 
Offline
Schreiberling
Benutzeravatar

Registriert: 17 Okt 2007, 21:48
Beiträge: 1392
Postleitzahl: 4132
Land: Schweiz
Wohnort: Muttenz
Salli msu

Ich bin leider alles andere als ein Experte bei Netzwerkfragen.
Wenn ich so einen Blick in das Handbuch werfe, finde ich keinen
Hinweis darauf, dass Du mehrere Clienten aufs Mal bedienen
kannst. Hintereinander ja, parallel nein.

Ob es eventuell mögliche wäre, von jedem Clienten immer wieder
nur einige Bytes anzufordern, weiss ich als "Gipser" leider nicht.

Griessli
Tipsi


Nach oben
   
 Betreff des Beitrags: Re: Problem mit den Network Befehlen
BeitragVerfasst: 03 Apr 2017, 18:36 
Offline
Alter Hase
Benutzeravatar

Registriert: 31 Mai 2016, 16:12
Beiträge: 63
Postleitzahl: 53489
Land: Deutschland
Wohnort: Sinzig / Rhein
Hi Tipsi

In anderen Programmiersprachen unter Windows würde ich jedem Klienten einfach einem eigenen Thread zuordnen.
Ok, Hollywood kennt leider keine Threads. :(
Ist irgendwo schade, habe jetzt nen HTTP Webserver fast fertig und leider zu spät bemerkt, das das ganze nicht so wirklich Mehrbenutzer fähig ist. :oops:
Der HTTP Server funktioniert auch ganz gut, erst bei großen Datenpaketen (Downloads) bemerkt man das Problem.

Grüße, Micha


Nach oben
   
 Betreff des Beitrags: Re: Problem mit den Network Befehlen
BeitragVerfasst: 03 Apr 2017, 19:41 
Offline
Schreiberling
Benutzeravatar

Registriert: 17 Okt 2007, 21:48
Beiträge: 1392
Postleitzahl: 4132
Land: Schweiz
Wohnort: Muttenz
Hhm, wenn Thrads fehlen, dann schreib doch mal
Andreas an. Vielleicht kann er das in Hollywood
einfügen oder es gibt eine andere Lösung. Eben,
bin Gipser... :)

Griessli
Tipsi


Nach oben
   
 Betreff des Beitrags: Re: Problem mit den Network Befehlen
BeitragVerfasst: 05 Apr 2017, 18:39 
Offline
Administrator
Benutzeravatar

Registriert: 30 Aug 2005, 19:42
Beiträge: 5303
Postleitzahl: 46047
Land: Deutschland
Wohnort: 46047 Oberhausen
Hi zusammen
Ja, das wäre auch mein Vorschlag gewesen, den Tipsi da gemacht hat.
Andreas geht da ziemlich gut auf Vorschläge ein, wie man ja an der
Weiterentwicklung von Hollywood sehen kann.

_________________
Gruß Helmut
Amiga 2000, Amiga 500, Amiga One XE, Amiga One X5000


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 5 Beiträge ] 

Alle Zeiten sind UTC


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Gehe zu: 

cron