채팅프로그램 연습삼아 채팅프로그램과 서버를 만들어 보았습니다. 아래 소스는 마음대로 사용하셔도 좋습니다. 아래는 서버의 소스입니다. import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; public class server_Test{ static Socket client[] = new Socket[100]; static Socket check; static int count=0,counts=0; static String prints; static boolean checkss; public static void main(String[] args) throws Exception{ ServerSocket server ..
아래 함수들을 사용할려면 소스파일 상단부에 #include 를 추가해주어야 합니다. strlen() 함수 원형: unsigned strlen( const char *str ) 문자열의 길이를 반환합니다. 정수형 변수에 저장하고싶다면, *null은 세지않는다. 검색어:문자열,문자열길이,String, 길이,strlen,문자열함수 예시) 1.int a = strlen("ABC"); //a의 값은 3이 됩니다. 2.{char text[10] = "ABCD"; int a = strlen(text); } //a의값은 4가 됩니다. ------------------------------------------- 2. strcat() 함수 원형: char *strcat( char *str1, const char *str..
TextArea를 Scrollpane에 사용하여 채팅 프로그램을 사용하던중, 채팅이 업데이트 될때마다 스크롤이 위로 올라가서 보기 불편한점을 개선할방법을 알아냈습니다. swing scrollpane 휠 자동다운 마우스 휠을 굴릴때는 스크롤바가 움직이는 것을 허용한다 scrollPane.addMouseWheelListener(new MouseWheelListener() { public void mouseWheelMoved(MouseWheelEvent arg0) { scrollpanemove=true; } }); 스크롤 판넬의 세롯크롤 바의 수정이벤트 리스너를 추가한다 scrollPane.getVerticalScrollBar().addAdjustmentListener(new AdjustmentListener..
Java 네트워킹 메인 메소드 선언부에 throw Exception 예외처리 던지기 메소드의 모든부분에서 오류를 잡아낸다. ServerSocket soc = new ServerSocket(포트); while(true){ //서버작동 Socket client = server.accept(); //클라이언트의 접속 수락, client에 정보저장 System.out.println(“IP”+client.getInetAddress()); //클라이언트의 아이피 가져온다 OutputStream os = client.getOutputStream(); //출력스트림 생성 DataOutputStream dos = new DataOutputStream(os); //데이터 출력스트림생성, 출력스트림과 연결 dos.write..
안드로이드 네트워킹을위한 퍼미션과 설정 – Manifast에 삽입 ‘’ -onCreate에 삽입 StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder() .detectDiskReads() .detectDiskWrites() .detectNetwork() .penaltyLog().build()); 안드로이드의 메인쓰레드는 사용자의 입력을 담당하므로 네트워크통신이나 루프처리등에 이용할 경우 운이나쁘면 앱이 멈춘다. 그래서 네트워크통신,루프처리등은 별도의 쓰레드를 생성하여 사용해야한다. 쓰레드를 추가하여 네트워킹을 하는 것을 추천 안드로이드 파일 입출력 파일 입출력을 가능하게 하는 퍼미션 String str_Path = Environment.getEx..
큐 큐는 FIFO 구조로 First In First Out, 선입선출, 먼저 삽입된것이 먼저 출력되는 구조입니다. 큐에서 출력될 자료를 가리키고 있는 포인터를 front(head)라고 하고, 삽입될 위치를 가리키고 있는 포인터를 rear(tail)라고 합니다. 큐도 스택구조와 마찬가지로 삽입과 출력을 할수있는데요, 삽입하는것을 put, 출력하는것을 get으로 구현합니다. 큐는 일회성이라는것이 특징입니다. 아래 큐의 동작과정을 보시면 알겠지만, 한번 사용된 공간은 다시 사용하지 않아서 큐의 구조는 일회성이라는 단점이 있습니다. Put(A) put(B) get(A) get(B) put(C) (rear) (rear) (rear) (rear),(front) [C](front) (rear) [B] [B](fron..