본문 바로가기

Language/Python

[Python] 채팅 프로그램

728x90
반응형

프로그램 실행 화면

3학년 1학기(2019) 컴퓨터 네트워크 과목을 들으면서 과제로 수행한 소스코드이다.

과제에선 언어의 장벽은 없었으며 자유롭게 소스코드를 작성후 보고서를 제출하는 형식이였다.

아래의 코드는 localhost로 8080포트로 작성한 서버 코드이다.

import socket

print("채팅 프로그램입니다.\n")
print("클라이언트를 실행 시켜 접속을 시도 해주세요!!\n\n")

host = '127.0.0.1' #localhost
port = 8080 #포트번호
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #localhost의 8080 포트로 접속
server.bind((host,port)) #서버 구축
server.listen(1) #연결 요청을 기다림

conn, addr = server.accept() # 주소 반환

print(str(addr),'에서 접속이 확인 되었습니다.')

#무한 반복
while True :
    recv = conn.recv(1024) #1024바이트 시퀀스를 받는다.
    print('상대방 :', recv.decode('utf-8'))

    send = input('나  : ')
    conn.send(send.encode('utf-8'))

 

아래의 코드는 클라이언트 코드이다.

import socket

print("채팅 프로그램입니다.\n")

host = '127.0.0.1'
port = 8080

# 8080포트의 로컬로 연결
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect((host,port))

print("연결이 확인 되었습니다.")

while True:
    send = input('나 : ')
    client.send(send.encode('utf-8'))

    recv = client.recv(1024)
    print('상대방 :', recv.decode('utf-8'))

 

728x90
반응형


Calendar
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Visits
Today
Yesterday