import io를 하고

sbuf = io.BytesIO(imgByte)를 하면 (여기서 imgByte는 jpg이미지의 bytes였음.)

byte 이미지 데이터가 stream이 된다.

 

통신을 통해 받은 이미지를

wxPython을 사용해서 GUI에 bitmap으로 출력해주기 위해 스트림으로 바꿈.

wx.BitmapFromImage(wx.ImageFromStream( sbuf ))

스트림을 이미지로 바꾸고 이미지를 비트맵으로 바꿔주었음.

INADDR_ANY는 어떤 주소로든 접속하게 해준다.

 

처음에 python으로 서버를 만들때 localhost를 서버 address에 넣었는데 외부에서 연결이 되지않아 당황했다.

C코드 서버를 보니 INADDR_ANY로 바인딩하는 것을 보고, 어떤 주소에서든 접속하려면 localhost로 설정하는게 아니라 INADDR_ANY로 설정해야함을 알게되었다.

 

python의 소켓 모듈을 사용해서 서버를 만들 때, INADDR_ANY로 설정하려면 bind할 때 empty string을 address부분에 넣어주면 된다.

 

예) server_socket.bind(('', PORT))

+ Recent posts