본문 바로가기

파이썬8

소켓통신(중계서버-멀티 클라이언트 채팅) #서버 코드 import threading, socket class Room: #채팅방 def __init__(self): self.clients = []#접속한 클라이언트를 담당하는 ChatClient 객체 저장 def addClient(self, c):#클라이언트 하나를 채팅방에 추가 self.clients.append(c) def delClent(self, c):#클라이언트 하나를 채팅방에서 삭제 self.clients.remove(c) def sendAllClients(self, msg): for c in self.clients: c.sendMsg(msg) class ChatClient:#텔레 마케터: 클라이언트 1명이 전송한 메시지를 받고, 받은 메시지를 다시 되돌려줌 def __init__(s.. 2020. 12. 15.
소켓통신(서버-클라이언트간 1:1 채팅) # 서버 코드 import threading, socket class UniServer: #class 변수 / static 변수 ip='localhost' #or 본인 ip or 127.0.0.1 port = 5555 def __init__(self): self.server_soc = None #서버 소켓(대문) self.client_soc = None #클라이언트와 1:1 통신 소켓 def open(self): self.server_soc = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.server_soc.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) self.server_soc.bind((UniSe.. 2020. 12. 14.
소켓통신(에코서버-클라이언트) #서버 코드 import socket, threading def echo_msg(soc):#soc:접속한 클라이언트 1명당 서버와 1:1통신하는 소켓 while True: data = soc.recv(1024) # recv(크기):소켓에서 메시지 읽음 msg = data.decode() # 인코딩된 메시지를 원래대로 디코딩함 print('Received from', msg) soc.sendall(data) if msg == '/stop': break #쓰레드 종료 print('쓰레드 종료') def main(): HOST = 'localhost' PORT = 9999 server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server_sock.. 2020. 12. 14.
파이썬 기본뼈대 코드 class Product: num=0 def __init__(self,name, price, amount): self.num = Product.num+1 self.name = name self.price = price self.amount = amount def printProduct(self): print('num:', self.num) print('name:', self.name) print('price:', self.price) print('amount:', self.amount) class Dao: def __init__(self): self.prod = [] def insert(self, p): self.prod.append(p) # print('제품추가. p는 Product 객체') def s.. 2020. 12. 12.