자바 통신 프로그램에서 질문입니다..
아빠몬
안녕하세요
자바를 공부하다가 잘안되는것이 있어서 올립니다
일단 프로그램은 서버와 클라이언트가 있습니다
클라이언트에서 프레임 창에서 직선을 그으면 그 값을 서버쪽에 전송을 하여
서버쪽 프레임창에 화면이 뜨게 하는 것입니다 물론 서버에서 클라이언트도 되고요
그런데 drawline(x,y,x1,y1)이 4개 변수를 한꺼번에 전송할수 있는 방법이 있는지요..
두개씩 나눠서 전송을 할려고 해도...문제가 있는거 같고....
두번재
위에 프로그램안에 다른 프로그램이 쓰레드로 같이 돌아 갑니다..
그런데 하나는 클라이언트 Socket s,변수로 포트 번호를 5432를 주고
DataOutStream writer변수로 그 값을 서버로 보내면
서버측 5432 소켓변수가 받고 InOutStream reader변수가 받게 됩니다
다른 스레드 프로그램을 Socket s1변수로 포트번호를 8888로 주고
스레드를 작동하게 했는데...
punlic class extend frame implements Runnable{
.....
s = new ServerSocket(5432,5);
reader = new DataInputStream(socket.getInputStream());
...
}
punlic class extendJWindow implements Runnable{
....
s1 = new ServerSocket(8888,5);
dis = new DataInputStream (app.socket1.getInputStream());
...
}
이런식으로 파일 두개를 만들어서 작성을 했습니다
그런데 클라이언트에서 다른 포트 번호로 데이터를 보냈는데...서버쪽에서는 5432포트로만 데이터가 들어 가더군요...;;;
왜그런지 고수님들 답변 부탁드립니다.
ps물론 스레드 동작까지 다 확인 햇습니다..데이터 전송되는것까지..
-
다솜
수다님 조언 감사 합니다.
-
Together
네 바퀴님 말씀이 맞아요...그런데 클라이언트에서 따로 스트링을 보내면 스트링이 전부 ServerSocket(5432.5)로만 들어가요....각각 소켓 쓰레드가 돌아가는건 확인되는데...8888스레드에서 DataoutputStream에 널포인트익셉션이 생깁니다...왜그런지ㅣ.....ㅠ.ㅠ
-
도1도캣
ServerSocket(5432,5);
ServerSocket(8888,5);
5432 ,8888 = 서버 open 포트.
5, 5 = 클라이언트 동시 허용 접속자 수.
서버 측에서 2개의 포트를 동시에 열어 놓으신 거네요..
이게 의도 하신 것이 맞는지요?
ServerSocket(8888,5); -
그루터기
x,y 좌표라면 Point 클래스를 활용하시구요
width,height 라면 Dimension 클래스를 활용해보세요.
기본 api에서 제공하는 class입니다 ^^; -
일진오빠
죄송한데 구제적으로 쪼금 자세하게 알려주시면 안될까요?아직 하수라.......이해가 잘 안되요..
-
반월
첫번째 것은 x,y값을 갖는 객체를 만들어 각각의 값대신에 객체를 넘겨주면 되지 않을까 싶은데요..