python ile hem input değeri bekleyerek hemde arkada bir işlem nasıl yapılır?

Egec3535

80+ Bronze
Katılım
14 Haziran 2021
Mesajlar
512
Reaksiyon skoru
117
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()

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 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 tahmin ettiğim gibi işe yaramadı aynı şekilde thread modülünüde denedim)
Mesaj otomatik olarak birleştirildi:

not olarak clients listesini bir şey denemek için oluşturdum işlevsiz yani
 
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()

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 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 tahmin ettiğim gibi işe yaramadı aynı şekilde thread modülünüde denedim)
Mesaj otomatik olarak birleştirildi:

not olarak clients listesini bir şey denemek için oluşturdum işlevsiz yani
async kullanabilirsiniz.

async def x():
 
Geri
Top