본문 바로가기

전체 글31

자바 텍스트 파일저장/로드 기본코드 package day10; import java.io.BufferedReader; import java.io.FileReader; import java.io.FileWriter; import java.io.InputStreamReader; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; /** * * 나열된 메소드를 적절히 구현 하세요. * 적절한 예외처리를 해주세요. */ public class PhoneMgr { /** * * @param count * @param fileName * * //count 만큼 전화번호를 입력받는 기능을 작성하세요.. (IO 이용해서...) //이름, 전화번호를 입력받아서 //입.. 2020. 12. 15.
소켓통신(중계서버-멀티 클라이언트 채팅) #서버 코드 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.