Chat

Stato
Discussione chiusa ad ulteriori risposte.

!R~

Utente Silver
22 Maggio 2009
0
0
0
55
Piccola chat fatta per imparare ad usare i socket :p

Server:
Codice:
# Server Pychat
import socket
from time import sleep
print "---------------- Pychat 1.0 ----------------"
print "--------------- Created by R_ --------------"
print
host = raw_input("Host: ")
nickname = raw_input("Insert your nickname: ")
print
print "Nick:", nickname
print "Host:", host
print
sleep(2)
porta = 8080
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((host, porta))
s.listen(1)
conn, addr = s.accept()
print "A connection with", addr, "was estabilished"
sleep(2)
print "To close the connection print 'quit' on the message box"
sleep(1)
while True:
	rec = conn.recv(1024)
	print rec
	mex = raw_input(">>>")
	if mex == "quit":
		break
	mex_to_send = nickname +": " + mex
	conn.send(mex_to_send)
	
s.close()

Client:
Codice:
# Client Pychat
import socket
from time import sleep
print "---------------- Pychat 1.0 ----------------"
print "--------------- Created by R_ --------------"
print 
host = raw_input("Host: ")
nickname = raw_input("Insert your nickname: ")
print
print "Nick:", nickname
print "Host:", host
print
sleep(2)
porta = 8080
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((host, porta))
print "A connection with", host, "was estabilished"
sleep(2)
print "To close the connection print 'quit' on the message box"
sleep(1)
while True:
	mex = raw_input(">>> ")
	if mex == "quit":
		break
	mex_to_send = nickname + ": " + mex
	s.send(mex_to_send)
	rec = conn.recv(1024)
	print rec
s.close()
 
Carino :) Ho intrapreso poco tempo fa un progetto simile. Se per caso riesci a trovare un modo per rendere l'host accessibile senza dover esporre il mio pc alla rete, non è che mi faresti un fischio? Grazie.

Ah, ps, reputa.
 
!R~ ha detto:
Per renderlo più "carino". :p

ok asd, anche se nn so streattamente neccessari xd.

@hacklife: si potrebbe usare uno script (anche in un altro linguaggio) su un server, quando uno si connette invia il proprio ip al server. poi i client richiedono ogni tot di tempo la lista degli ip validi ed accettano le connessioni solo dagli ip contenuti in tale lista. Non è il massimo, anzi è macchinoso e nn affidabile al 100%, ma è un possibile metodo.
 
semplice esercizio con i socket, anche se ben scritto devo ammetterlo ;) .
Ora cerca di ampliarlo aggiungendo delle funzioni che può uscirne qualcosa di carino
 
Malex ha detto:
!R~ ha detto:
Per renderlo più "carino". :p

ok asd, anche se nn so streattamente neccessari xd.

@hacklife: si potrebbe usare uno script (anche in un altro linguaggio) su un server, quando uno si connette invia il proprio ip al server. poi i client richiedono ogni tot di tempo la lista degli ip validi ed accettano le connessioni solo dagli ip contenuti in tale lista. Non è il massimo, anzi è macchinoso e nn affidabile al 100%, ma è un possibile metodo.

Così funziona il protocollo di msn
 
Stato
Discussione chiusa ad ulteriori risposte.