6주차_Network : 소켓 실습
2023. 11. 19. 00:51ㆍSWLUG/Network
몇주간에 걸쳐서 네트워크에 대하여 학습했다.
마무리로 우리 조는 함께 모여 소켓 실습을 진행했다.
📌실습 내용
[소켓]
from socket import *
serverSock = socket(AF_INET, SOCK_STREAM)
serverSock.bind(('127.0.0.1', 8080))
serverSock.listen(1)
connectionSock, addr = serverSock.accept()
print(str(addr), 'access')
data = connectionSock.recv(1024)
print("data:", data.decode('utf-8'))
connectionSock.send('I am server.'.encode('utf-8'))
print('메시지를 전송하였습니다.')
from socket import *
ClientSock = socket(AF_INET, SOCK_STREAM)
ClientSock.connect(('127.0.0.1', 8080))
print('연결이 확인 되었습니다.')
ClientSock.send('I am client'.encode('utf-8'))
print('메시지를 전송하였습니다.')
data = ClientSock.recv(1024)
print('data: ', data.decode('utf-8'))
[스레드]
from socket import *
import threading
import time
def send(sock):
while True:
sendData = input('>>>')
sock.send(sendData.encode('utf-8'))
def receive(sock):
while True:
recvData = sock.recv(1024)
print('상대방:', recvData.decode('utf-8'))
port = 8080
serverSock = socket(AF_INET, SOCK_STREAM)
serverSock.bind(('', port))
serverSock.listen(1)
print("%d번 포트로 접속 대기 중.."%port)
connectionSock, addr = serverSock.accept()
print(str(addr), '에서 접속되었습니다.')
sender = threading.Thread(target=send, args=(connectionSock,))
receiver = threading.Thread(target=receive, args=(connectionSock,))
sender.start()
receiver.start()
while True:
time.sleep(1)
pass
from socket import *
import threading
import time
def send(sock):
while True:
sendData = input('>>>')
sock.send(sendData.encode('utf-8'))
def receive(sock):
while True:
recvData = sock.recv(1024)
print('상대방:', recvData.decode('utf-8'))
port = 8080
clientSock = socket(AF_INET, SOCK_STREAM)
clientSock.connect(('127.0.0.1', port))
print('접속 완료')
sender = threading.Thread(target=send, args=(clientSock,))
receiver = threading.Thread(target=receive, args=(clientSock,))
sender.start()
receiver.start()
while True:
time.sleep(1)
pass
'SWLUG > Network' 카테고리의 다른 글
5주차_Network : 응용 계층 & 무선LAN (0) | 2023.11.04 |
---|---|
4주차_Network : 전송 계층 (1) | 2023.10.28 |
3주차_Network : 네트워크 계층 (0) | 2023.09.30 |
2주차_Network : 데이터 링크 계층 (0) | 2023.09.21 |
1주차_Network.2 : 물리 계층 (0) | 2023.09.19 |