kan mir das nhemand endbuggen.......

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Costi
User
Beiträge: 545
Registriert: Donnerstag 17. August 2006, 14:21

ohh man leutz, ich sitzte hier schon seit zwei stunden an mikrigen 70 lines code und komm einfach nicht weiter: das prob ist das ich mich an den "sever" (der in diesen script ist) nicht conneccetn kann

ich poste mal einfach prompt hier alles rein: (sonstige bugs einfach uebersehen..)

Code: Alles auswählen

from sys import exit
import socket
from simplemail import Email #thx, gerold ( :

gui = '''
<html>
<body>
<form action="foobar" method="post"">
from : <input name="from"><br>
to: <input name="to"><br>
subject: <input name="subject"><br>
msg: <textarea name="Frage" rows="7" cols="30">
</textarea><br><br>

<input type="submit" value="Abschicken!">
<input type="reset" value="Abbrechen">

</form>

</body>
</html>

'''


def parse(str):
	param = {}
	for i in str.split("&")[2:-2]: #oder doch 1:-1 ??
		for i2 in i:
			z = z.split("=")
			param[t[1]] = t[2]
	print param #debuging reasons


	
	
def waitforReq(client):
	resp = client.recv(1024)
	return parse(resp)


			
def serveClient(client):
	while 1:	
		client.send(gui)
		param = waitforReq()
		if param["exit"] == "yes":
			sys.exit()
		try:
			Email(
			from_address = para["from"],
			to_address = para["to"],
			subject = para["subject"],
			message = para["msg"]
			).send()
		except:
			error("sry, die naricht koennte nicht gesendet werden<br>die fehlermeldung lautet (nicht erschrecken^^):<br>" + "<fehlermeldung>")#wie hies nochmahl die fehler-var?
	

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
s.bind(('', 1234)) 
s.listen(1) 

while 1: 
	client, address = s.accept()
	client.settimeout(9999999999)
	if address != "localhost": #naja sicherhietshalber..
		client.close()
	serveClient(client)
	
	
	
	
	
	
cp != mv
Benutzeravatar
SigMA
User
Beiträge: 181
Registriert: Sonntag 4. April 2004, 13:27
Wohnort: Freiburg
Kontaktdaten:

Sehe ich das richtig, dass du Client und Server in einem Skript hast?! Wenn ja ist das sehr unklug^^

Desweiteren glaube ich zu wissen, dass der Server in einer Schleife immer wieder horchen muss, ob was angekommen ist. In deinem Skript finde ich jedoch keine solche Schleife

bitte korregiert mich jmd wenn ich falsch liege
SigMA
Leichtdio.de - Das Kreativ-Blog
http://www.leichtdio.de
Costi
User
Beiträge: 545
Registriert: Donnerstag 17. August 2006, 14:21

Sehe ich das richtig, dass du Client und Server in einem Skript hast?
lol, sicher nicht
Desweiteren glaube ich zu wissen, dass der Server in einer Schleife immer wieder horchen muss, ob was angekommen ist. In deinem Skript finde ich jedoch keine solche Schleife

Code: Alles auswählen

while 1:
    client, address = s.accept()
    client.settimeout(9999999999)
    if address != "localhost": #naja sicherhietshalber..
        client.close()
    serveClient(client)
wobei man bei einen client eigentlich keine schleife braucht


ps: client soll übrigens ne .hta app sein

edit:
muss mich korrigierem (es gibt nichts schlimmeres als falsche docs):
wobei man bei einen client eigentlich keine schleife braucht [/quote
das trifft bei http nicht zu, weil immer wieder eine neue verbindung aufgebaut wird!
Zuletzt geändert von Costi am Montag 30. Oktober 2006, 06:59, insgesamt 1-mal geändert.
cp != mv
Costi
User
Beiträge: 545
Registriert: Donnerstag 17. August 2006, 14:21

ahhh ok, ich habs: ich hab vergessen einen http "string terminator" (schliesung der verbindung wie in ftp?) einzubaun, deswegen hat mein browser immer bis zum timeout geladen
cp != mv
Antworten