Waardering:
- 0 stemmen - gemiddelde waardering is 0
- 1
- 2
- 3
- 4
- 5
atimmer
Kwaliteit = Apple + Google
    
Berichten: 1.240
Lid sinds: 05-2008
Reputatie: 32
|
|
| 11-01-2010 18:42:32 |
|
hshelper
Student
    
Berichten: 763
Lid sinds: 07-2006
Reputatie: 16
|
RE: Socket
Ja, nou; ik heb de poorten opengezet in de router en ik heb ook mijn firewall deze poorten opengezet... Als ik op deze website http://www.canyouseeme.org/ kijk, zie ik dat mijn poorten idd bereikbaar zijn.. Ik post als ik dalijk thuis ben wel de code.
[EDIT]
Dit is mijn client script:
Code:
import sys
from socket import *
serverHost = 'xx.xx.x' # servername is localhost
serverPort = 8080 # use arbitrary port > 1024
s = socket(AF_INET, SOCK_STREAM) # create a TCP socket
s.connect((serverHost, serverPort)) # connect to server on the port
s.send('Hello world') # send the data
data = s.recv(1024) # receive up to 1K bytes
print data
Als ik serverHost = "localhost" doe, dan werkt het wel; ik krijg response van mijn serverscript. Maar zodra ik mijn eigen IP adres invullen loopt de hele boel door in een soort oneindige lus. I don't know what er verkeerd is. Heeft iemand een idee?
Supremacy rockz!
(Dit bericht is het laatst bewerkt op 11-01-2010 om 23:11:49 door hshelper.)
|
|
| 11-01-2010 18:53:51 |
|
Jasper
Ep2 Admin
     
Berichten: 15.056
Lid sinds: 04-2006
Reputatie: 223
|
RE: Socket
Om de zeven minuten denkt de vrouw dat de man alleen maar aan seks denkt.
|
|
| 13-01-2010 13:00:47 |
|
atimmer
Kwaliteit = Apple + Google
    
Berichten: 1.240
Lid sinds: 05-2008
Reputatie: 32
|
|
| 14-01-2010 16:27:49 |
|
hshelper
Student
    
Berichten: 763
Lid sinds: 07-2006
Reputatie: 16
|
RE: Socket
Mmmm, ik heb nu vanalles geprobeerd. Deze optie geeft geen error, maar doet niks als ik ze beide draai:
Server:
Code:
import socket
import sys
print "Server started"
# SOCK_DGRAM is the socket type to use for UDP sockets
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind(("0.0.0.0", 999))
data,addr = sock.recv(1024)
print "Received: %s" % data
print "Addr: %s" % addr
Client:
Code:
import socket
mySocket = socket.socket ( socket.AF_INET, socket.SOCK_DGRAM )
mySocket.sendto ( 'Wherefore art thou?', ( 'mijn ip', 999 ) )
#data, server = mySocket.recvfrom ( 100 )
#print data
Supremacy rockz!
|
|
| 15-01-2010 16:58:13 |
|
hshelper
Student
    
Berichten: 763
Lid sinds: 07-2006
Reputatie: 16
|
RE: Socket
Solved: Ik heb de port geforward op de router, en nu kan ik van buitenaf een connectie maken  Alleen het connecten gaat erg traag  (<1s, maar toch traag). En is er trouwens een manier om de poort automatisch open te zetten, zonder dat ik naar mijn router instellingen hoeft?
Dit is de code op mijn mobiel (waarschijnlijk ligt de traagheid aan de manier van socketberichten versturen):
Code:
from socket import *
import appuifw, e32, key_codes
s = None
def connect():
global s
myHost = 'MIJNIP'
myPort = MIJNPOORTNUMMER
s = socket(AF_INET, SOCK_STREAM) # create a TCP socket
s.connect((myHost, myPort)) # bind it to the server port
def bericht(x):
global s
connect()
s.send(x)
s.close() # close socket
s = None
canvas = appuifw.Canvas()
appuifw.app.body = canvas
def omhoog():
print "Pijl omhoog"
bericht("Pijl omhoog")
def omlaag():
print "Pijl omlaag"
bericht("Pijl omlaag")
def rechts():
print "Pijl rechts"
bericht("Pijl rechts")
def links():
print "Pijl links"
bericht("Pijl links")
canvas.bind(key_codes.EKeyUpArrow, omhoog)
canvas.bind(key_codes.EKeyDownArrow, omlaag)
canvas.bind(key_codes.EKeyRightArrow, rechts)
canvas.bind(key_codes.EKeyLeftArrow, links)
app_lock = e32.Ao_lock()
app_lock.wait()
Supremacy rockz!
(Dit bericht is het laatst bewerkt op 16-01-2010 om 15:59:49 door hshelper.)
|
|
| 16-01-2010 15:03:52 |
|