본문 바로가기

Python

쓰레드를 이용한 다중 클라이언트 소켓

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
#-*-coding:utf-8-*-
from socket import *
from thread import *
from threading import *
 
def handler(clientsock,addr):
    while 1:
        data = clientsock.recv(BUFSIZ)
        if not data:
            clientsock.close()
            break
        print data
#clientsock.send("echoed:.." + data)
 
if __name__=="__main__":
    HOST = "192.168.0.31"
    PORT = 10101
    BUFSIZ = 1024
    ADDR = (HOST,PORT)
    serversock = socket(AF_INET,SOCK_STREAM)
    serversock.bind(ADDR)
    serversock.listen(2)
 
    while 1:
        print "waiting for connection..."
        clientsock, addr = serversock.accept()
        print "...connected from:", addr
        start_new_thread(handler,(clientsock, addr))
cs



전 소스와 다른 점을 모르겠으나,

다만 이 소스는 돌아가고 첫 번째 소스는 두번째 쓰레드로 연결이 몰린다.


좀더 공부가 필요할 것 같다..




출처: http://harebox.tistory.com/entry/%ED%8C%8C%EC%9D%B4%EC%8D%AC%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EB%A9%80%ED%8B%B0%EC%93%B0%EB%A0%88%EB%93%9C-%EC%97%90%EC%BD%94-%EC%84%9C%EB%B2%84-%EB%A7%8C%EB%93%A4%EA%B8%B0


'Python' 카테고리의 다른 글

스택 with Linked List  (0) 2015.05.08
게임서버 최종 소스  (0) 2015.05.08
(Fail) 쓰레드를 이용한 소켓  (0) 2015.05.04
scapy 를 이용한 ARP 패킷  (0) 2015.05.02
scapy 이용 arp 패킷 보내기.  (0) 2015.05.01