사이트 로그인
2016.07.07 09:59
솔직히 기대를 많이 했었는데 아직 아무도 제대로 구현을 못하신듯하여 예제로 남김니다.
원랜 안올리려다가 제가 구현 불가능한걸 설명한게 아니라는걸 확인시켜 드리기 위해서
예제로 만들었습니다. 구현 시도해보셨던분들은 본인 소스랑 이소스랑 비교해보시기
바람니다. . 한국 최근 옵이 아니라면 4byte 보다 작은 패킷은 본적이 없습니다.
소스자체를 올린게 몇년만인지 모르겟네요 ..
import l1j.server.server.utils.IntRange;
public class CircleArray {
private byte[] data;
private int size = 0;
private int read_loc = 0;
private int write_loc = 0;
private int total_write_length = 0;
public CircleArray(int _size){
size = _size;
data = new byte[_size];
}
/**
* 패킷 데이터 삽입
* @param packet
*/
public void insert(byte[] packet,int _size){
int temp_length = IntRange.ensure(_size, 0,size - write_loc);
System.arraycopy(packet, 0, data, write_loc, temp_length);
write_loc = (write_loc + temp_length) % size;
if((_size - temp_length) > 0){
System.arraycopy(packet, temp_length, data, write_loc, _size - temp_length);
write_loc += _size - temp_length;
}
total_write_length += _size;
}
/**
* length 만큼 패킷 취득
* @param length
* @return
*/
public byte[] Pull(int length){
byte[] packet = new byte[length];
int temp_length = IntRange.ensure(length, 0,size - read_loc);
System.arraycopy(data, read_loc, packet, 0, temp_length);
read_loc = (read_loc + temp_length) % size;
if((length - temp_length) > 0){
System.arraycopy(data, read_loc, packet, temp_length, length - temp_length);
read_loc += length - temp_length;
}
total_write_length -= length;
return packet;
}
/**
* 다음 패킷 존재 및 완성 여부
* @return
*/
public int isPacketPull(){
int readsize = PacketSize();
if(readsize != -1 && readsize <= total_write_length){
return readsize;
}
return -1;
}
/**
* 읽어야할 패킷 길이
* @return
*/
public int PacketSize() {
if(4 > total_write_length)return -1;
int length = data[read_loc] & 0xff;
length |= data[(read_loc+1) % size] << 8 & 0xff00;
return length;
}
}
짤은 그냥 .. 우리 니니 ~ @
[출처] 제가 설명했던 배열을 이용한 원형큐 예제입니다. (비공개 카페)
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
공지 | 소스자료는 직접 올려주세요 | 게임존 | 2017.06.06 | 550 |
509 | UI6 펫/서먼 업데이트 | 준희미니 | 2016.07.07 | 84 |
508 | 인벤정보 표기 B.C | 준희미니 | 2016.07.07 | 88 |
507 | 펫 밥 그 릇. | 준희미니 | 2016.07.07 | 37 |
506 | 에바)샤르나 75,80변신 | 준희미니 | 2016.07.07 | 72 |
505 | UI6차 기억창 로딩부분 18세이상만님께서 수정했던 자료 | 준희미니 | 2016.07.07 | 43 |
504 | 일팩용 3.53c 옵코드 | 준희미니 | 2016.07.07 | 57 |
503 | 중계기 노딜X그!! | 준희미니 | 2016.07.07 | 231 |
502 | 기르관련 맵(중앙광장포함) | 준희미니 | 2016.07.07 | 41 |
501 | 혈맹채팅 안되시는 분들... | 준희미니 | 2016.07.07 | 22 |
500 | 혈맹업데이트(수정) | 준희미니 | 2016.07.07 | 48 |
499 | 숨계도리아 | 준희미니 | 2016.07.07 | 26 |
498 | 일본팩에서 해상전 추출 통으로~ | 준희미니 | 2016.07.07 | 69 |
497 | 일본팩에서 해상전 추출 통으로~ 2 | 준희미니 | 2016.07.07 | 19 |
496 | 일본팩에서 해상전 추출 통으로~ 3 | 준희미니 | 2016.07.07 | 18 |
495 | 일본팩에서 해상전 추출 통으로~ 4 | 준희미니 | 2016.07.07 | 17 |
494 | 일본팩에서 해상전 추출 통으로~ 마지막 | 준희미니 | 2016.07.07 | 23 |
493 | 일팩해상전 에바 적용중 에러 | 준희미니 | 2016.07.07 | 40 |
492 |
일팩 해상전 및 기억 temp창 수정할수있는 통소스 파일.파헤쳐야함
![]() | 준희미니 | 2016.07.07 | 20 |
491 | 스킬 gfx 변경 사항 | 준희미니 | 2016.07.07 | 195 |
490 | 오렌 리뉴얼중 X 지역 땅굴포탈 좌표 | 준희미니 | 2016.07.07 | 16 |
489 | 편지 공개않하는 이유라도 있나요? | 준희미니 | 2016.07.07 | 61 |
488 | 해상전.에 몹나오게하는방법. (요청)허접자료임 고수분들패스 | 준희미니 | 2016.07.07 | 57 |
487 | 편지 리스트 삭제 | 준희미니 | 2016.07.07 | 16 |
486 | 짜집기 기르관련 스킬들 | 준희미니 | 2016.07.07 | 80 |
485 | 해상전 일팩소스 에바소스로 변경작업. 에러 5남기고..필요한파일첨부.조금의희망 | 준희미니 | 2016.07.07 | 30 |
484 | 만피제한소스 | 뤼니징 | 2016.07.07 | 64 |
483 | 사운드 재생 PACKETBOX | 준희미니 | 2016.07.07 | 44 |
482 | 차단, 스펨편지차단 | 준희미니 | 2016.07.07 | 21 |
481 | 차단, 스펨편지차단 | 준희미니 | 2016.07.07 | 13 |
480 | 기억창 사라지는 문제점 해결.. 소스아님 | 준희미니 | 2016.07.07 | 57 |
479 | 픽시의 변신 막대 | 준희미니 | 2016.07.07 | 43 |
478 |
혈맹창
![]() | 준희미니 | 2016.07.07 | 1013 |
477 | 혈맹창 | 준희미니 | 2016.07.07 | 42 |
476 | 다중 편지 발송.. | 준희미니 | 2016.07.07 | 29 |
475 | 편지차단/차단 | 준희미니 | 2016.07.07 | 13 |
» |
제가 설명했던 배열을 이용한 원형큐 예제입니다
![]() | 준희미니 | 2016.07.07 | 51 |
473 |
방향오류
![]() | 준희미니 | 2016.07.07 | 25 |
472 | 혈맹창고 이용 내역 | 준희미니 | 2016.07.05 | 38 |
471 | 특정렙특정맵에서 경험치 안먹게하기 | 준희미니 | 2016.07.05 | 45 |
470 | 말섬 리뉴얼 입니다 | 준희미니 | 2016.07.05 | 102 |
469 |
짜집기 단테스의유물상자^^;;
![]() | 준희미니 | 2016.07.05 | 111 |
468 |
심해 알드란 텔[능동적 자료]
![]() | 준희미니 | 2016.07.05 | 19 |
467 |
독 아이콘 eva 버전
![]() | 준희미니 | 2016.07.05 | 48 |
466 | MiNA 기준 실시간 포트 변경 | 준희미니 | 2016.07.05 | 49 |
465 | 그냥 별건아닌데 | 준희미니 | 2016.07.05 | 160 |
464 | 군주 파티시 피바 | 준희미니 | 2016.07.05 | 48 |
463 | 짜집기 혈맹버프^^;; | 준희미니 | 2016.07.05 | 65 |
462 | 다이노 인형 짜집기 | 준희미니 | 2016.07.05 | 41 |
461 | [UI6] 혈맹탈퇴 | 준희미니 | 2016.07.05 | 18 |
460 | 새로운 본던멥입니당 | 준희미니 | 2016.07.05 | 46 |