본문 바로가기

Study/Java

Flex 와 Java XMLsocket을 사용하기


Wind socket below Iceland's Eyjafjoell volcano ash plume. South bound wind push ash cloud toward european skies, on May 08, 2010. Photo by Etienne de Malglaive/ABACAPRESS.COM Photo via Newscom


이번에 Flex하고 Java 연결시키는 작업때문에 하지도 않았던 자바 보느라 플랙스 보느라 정책적인 문제 해결하느라 머리가 완전히 스팀이 올랐다고 해야되나. 물론 여기에 제 프로그래밍 기술적인 부분을 올려놓으면 좋겠지만 완전 난잡한 코드에 거의 다른 분들 소스를 참고한데다가 , 또 완벽히 설명할 자신이 없기에 소스 올려놓는것은 제외하고 블로그 2개를 추천드립니다. 물론 이블로그의 특성상 또다른 저와 같은 고민을 하는 분들을 위해서, 혹은 그리고 나중에 제가 다시 보더라고 힌트를 얻기 위해서요 .

http://mudchobo.tomeii.com 머드초보님의 블로그입니다. 이곳에 머드초보님께서 flex를 클라이언트로 java를 서버로 해서, 만든 소스를 보실수 잇습니다. 제가 생각하기 중점은, 플래스하고 자바에서 소켓을 보내고 받는 과정입니다. 물론 중점이겠지만.

약간 덧붙이자면, 여기서 플랙스쪽에서 자바쪽으로 데이터를 받을때 InputStreamReader을 사용하는데
이것을 찾아보니 이것은 값을 뱉어낼때 형태를 지정해야합니다 int형인지 cha형인지 그러니까 2가지 자료형으로 자료를 내 뱉습니다. 그리고 만약 자료가 없을때는 -1을 리턴합니다.


그런데 약간 구경해보니까 XML로 소켓을 받을때 뒤에 \n이라는것을 붙여줘야 된다고 합니다. 그런데 자바쪽에서 보니까 이녀석이 계속 기다리기 만 하는겁니다.

이걸 int로 찍어봤더니 aaa 보낼경우 int값으로 바꾸면 96 96 96 10 0 이렇게 문장을 끝내더군요.

그리고 보낼때 PrintWriter 를 사용하는데 보낼때 저는 XML이라 \n만 넣엇는데 - 안넘어가더라고요.
다시 확인해봤떠니 \0까지 해줘야 되더라고요,,.
pw.print(result_read+"\n\0"); 대략 이정도로?


그리고 http://ummae.tistory.com/ 곳에가면 정책적인 문제를 해결하실수 있습니다.
그러니까 이 플래쉬라는 게 그냥 로컬에서 테스트할때는 소켓이 왔다 갔다가 잘합니다. 그런데 다른컴퓨터를 이용해서 접속할때는 안됩니다. 이걸 어도비에서 정책적으로 막아놨다고 합니다.

기존에는 플랙스내에서 소스 첨부하는 방법하고 정책서버를 따로 운영하는 방법방법이 있었는데 지금은
업데이트 되면서 정책서버를 따로둬야하는듯 합니다.

이곳에 링크를 따라가시면 어도비쪽에서 파이썬 ,펄로 데몬으로 해서 리눅스 환경에서 사용할수 잇는 정책서버를 만들어 올려놓앗습니다. 제가 찾아보았는데 윈도우 쪽은 없는것 같고 윈도우에서 하시려면 직접 만들으셔야 할것 같습니다.

혹시 저같은 분들을 위해서 약간의 정보를 남겨놉니다. 즐거운 하루되세요 .


'Study > Java' 카테고리의 다른 글

java sqlite jdbc eclipse build path  (0) 2011.07.14
Java sqlite jdbc  (0) 2011.07.14
[JAVA] atoi, iota  (5) 2011.07.07
java.net.BindException: Address already in use  (0) 2010.08.19
이클립스 가릴레오(galileo) 플러그인 지우는 방법  (0) 2009.10.26
JAVA 1.6 한글 api  (2) 2009.10.05