merhaba ben bir chat programı yaptım serverın görevi client-client bağlantısı kurmak client 1 e c dedim 2. clientede c2 dedim c den gelen mesaj c2 ye gitsin diye bir kod yazdım servere evet gidiyor fakat c2 de servere mesaj gönderiyor ya input değerini bekliyor önce sonra serverden gelen mesajı kabul ediyor ve ekrana yansıtıyor sorun bundan ibaret şu sıralar tht yardım merkezi konularım hep cevapsız kalıyor umarım cevap gelir. ( denediğim şeyler ise c2 c den gelen mesajı aldıktan sonra ekrana yansıtıyor kodunu alıp input değerinin üstüne yazdım fakat işe yaramadı aynı şekilde thread modülünüde denedim)
server:
import socket
import time
import threading
clients= {}
host='xxxx'
port=xxxx
addr=(host,port)
server=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
print ("socket oluşturuldu...")
server.bind(addr)
print("Socket {} nolu porta bağlandı".format(port))
server.listen(5)
print("Socket dinleniyor bağlantı bekleniyor...")
c,addr= server.accept()
print("1. Şahıs Bağlandı...",addr)
print("2. Şahıs Dinleniyor...")
server.listen(5)
c2,addr= server.accept()
print("2. Şahıs Bağlandı... {}".format(addr))
mesaj=c.recv(50)
print(mesaj)
mesaj2=c2.recv(50)
print(mesaj2)
#c den gelen mesaj c2 ye gidiyor
gidenmesaj=c2.send(mesaj)
while True:
modülğ=threading.Thread(target=addr, args=())
modülğ.start
client c2 (client c yi şuanlık atmayacağım önce c den gelen mesajı c2 ye transfer etmeyi öğrenmem lazm yani gerek yok):
import socket
import threading
import time
host='xxxx'
port=xxxx
addr=(host,port)
server=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
print("192.168.56.1:4444 numaralı port üzerinden sockete bağlanılıyor... # BY egecanlıTR")
server.connect(addr)
print("servere bağlanıldı")
def c_den_gelen_mesaj ():
while True:
msg_al=server.recv(50)
print(msg_al)
modül=threading.Thread(target=c_den_gelen_mesaj,args=())
modül.start()
while True:
msg_gönder=input("[CLİENT] MESAJ: ")
server.send(msg_gönder.encode())
time.sleep(0.5)
c_den_gelen_mesaj()
server:
import socket
import time
import threading
clients= {}
host='xxxx'
port=xxxx
addr=(host,port)
server=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
print ("socket oluşturuldu...")
server.bind(addr)
print("Socket {} nolu porta bağlandı".format(port))
server.listen(5)
print("Socket dinleniyor bağlantı bekleniyor...")
c,addr= server.accept()
print("1. Şahıs Bağlandı...",addr)
print("2. Şahıs Dinleniyor...")
server.listen(5)
c2,addr= server.accept()
print("2. Şahıs Bağlandı... {}".format(addr))
mesaj=c.recv(50)
print(mesaj)
mesaj2=c2.recv(50)
print(mesaj2)
#c den gelen mesaj c2 ye gidiyor
gidenmesaj=c2.send(mesaj)
while True:
modülğ=threading.Thread(target=addr, args=())
modülğ.start
client c2 (client c yi şuanlık atmayacağım önce c den gelen mesajı c2 ye transfer etmeyi öğrenmem lazm yani gerek yok):
import socket
import threading
import time
host='xxxx'
port=xxxx
addr=(host,port)
server=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
print("192.168.56.1:4444 numaralı port üzerinden sockete bağlanılıyor... # BY egecanlıTR")
server.connect(addr)
print("servere bağlanıldı")
def c_den_gelen_mesaj ():
while True:
msg_al=server.recv(50)
print(msg_al)
modül=threading.Thread(target=c_den_gelen_mesaj,args=())
modül.start()
while True:
msg_gönder=input("[CLİENT] MESAJ: ")
server.send(msg_gönder.encode())
time.sleep(0.5)
c_den_gelen_mesaj()