Hab ein Programm geschrieben, was sich zwischen ein Spiel und den Server schaltet.
Code: Alles auswählen
# -*- coding: cp1252 -*-
from socket import *
# Set the socket parameters
addrc = ("0.0.0.0",23072)
addrs=("84.254.75.8",23110)
hostc="0.0.0.0"
portcl=23072
portcs=23083
hosts="84.254.75.8"
portsl=23082
portss=23110
buf = 1024
# Socket zuständig für Server Verbindung
socks = socket(AF_INET,SOCK_DGRAM)
socks.setblocking(0)
socks.bind(("0.0.0.0",portsl))
# Socket zuständig für Client Verbindung
sockc = socket(AF_INET,SOCK_DGRAM)
sockc.setblocking(0)
sockc.bind((hostc,portcl))
count=0
a=0
## Schleife ################################
while 1:
datas=0
datac=0
## Daten von Client an server
try:
datac,(hostc,portcs)=sockc.recvfrom(buf)
except:pass
if datac:
## print "CtS:"+datac
socks.sendto(datac,(hosts,portss))
count =0
##Daten von Server an Client
try:
datas=socks.recv(buf)
except:pass
if datas:
## print "StC:"+datas
sockc.sendto(datas,(hostc,portcs))
count+=1
if count>100000:break
if count%10000==0:print count,
# Close socket
socks.close()
sockc.close()

kann man das irgendwie beschleunigen ?
Oder ist das einfach die Grenze von Python?
(Ich bin mir bewusst, dass Python nicht mit C++, oder Asembler zu vergleichen ist, besonders was Geschwindigkeit angeht. War auch mehr einfach ein Versuch mit Sockets. Aber vielleicht gehts ja doch =)
Edit XT@ngel: Code in Python Tags