U E D R , A S I H C RSS

Project Zephyrus/Server

CVS ๊ตฌกฐ

~cpp 
ProjectZephyrusServer
    |
    +---- bin       : ‹ค–‰ ŒŒผ๋“ค˜  €žฅ๊ณ , ˜„žฌ ๋นŒ๋“œ—„œ๋Š”  €žฅ•˜ง€ •Š๋Š”๋‹ค
    |
    +---- document  : ฝ”๋”ฉค‘ ๊ธฐ๋ก๋˜๋Š” —ฌƒ€ ๋ฌธ„œ๋“ค˜ ๋ณด๊ด€
    |                ex) DB query๋ฌธ, Packet •˜ ๋ฌธ
    +---- lib       : ปดŒŒผ— •„š”•œ ๋ผด๋ธŒ๋Ÿฌ๋ฆฌ˜ ๋ณด๊ด€†Œ
    |
    +---- src : †ŒŠค˜ ๋ณด๊ด€†Œ package๋ณ„ ๋ถ„๋ฅ˜
            |
            +---- command       : ๋ช…๋ น๊ณผ ๊ด€๋ จ•œ Œจ‚คง€
            |
            +---- information   : DB™€ ๊ฐ™€ ‚ฌšฉž  •๋ณด ๊ด€๋ฆฌ Œจ‚คง€
            |
            +---- network       : ๋„Šธ› ๊ด€๋ จ Œจ‚คง€
            |
            +---- test          : Test ๊ด€๋ จ Œจ‚คง€
    ตœƒœ„ ด๋”˜ ™”ผ „ค๋ช…

    .classpath  : Eclipse šฉ Java˜ ™˜๊ฒฝ „ •
    .project    : Eclipsešฉ project „Œ… ŒŒผ
    .cvsignore  : Eclipse—„œ cvs—„œ synch‹œ— ๋ฌด‹œ•  ŒŒผ

    java_win.bat    : Windowsšฉ RunServer ‹ค–‰ batchŒŒผ
    javac_win.bat   : Windowsšฉ ”„๋กœ Šธ ปดŒŒผ batchŒŒผ

    java_zp         : ZeroPage Server ‹ค–‰ bash script (zp—„œ๋งŒ ๋ˆ๋‹ค. binด classpath— •ˆ๋“ค–ด๊ฐ€„œ ๊ฝˆ˜๋กœ ฒ˜๋ฆฌ,port๋ฒˆ˜ธ๋ฅผ ๋ณ€๊ฒฝ• ˆ˜ —†๋‹ค.)
    javac_zp        : ZeroPage Serveršฉ ปดŒŒผ bash script (–ด๋А „œ๋ฒ„—„œ๋‚˜ ๋™ž‘ • ๊บผ ๊ฐ™๋‹ค.)

    ProjectZephyrusServer.jcp : JCreatoršฉ projectŒŒผ
    ProjectZephyrusServer.jcw : JCreatoršฉ workspace ŒŒผ

Eclipse, JCreator —„œ FAQ

  • Eclipse
    • Perspective๋ฅผ CVS Repositary Explorering—„œ ~cpp CheckOut„ •œ๋‹คŒ, ปดŒŒผด •ˆ๋œ๋‹ค๋ฉด •ด๋‹น ”„๋กœ Šธ˜ JRE_LIB๊ฐ€ ž˜๋ชป žก˜€ žˆ„ ๊ฐ€๋Šฅ„ด ฌ๋‹ค. (Win98—„œ JRE๊ฐ€ ž˜๋ชป „น˜๋˜–ด žˆ„๋•Œ) ๋ฐฉ๋ฒ•€ Eclipse—„œ Tipค‘ „น˜ ๋ถ€๋ถ„„ ฐพ•„ ๋ณด๋ผ
  • JCreator
    • ๋จผ € •ด๋‹น ”„๋กœ Šธ˜ lib„Œ…„ ˆ˜–‰ •œ๋‹ค. ๊ทธ๋ž˜๋„ •ˆ๋˜๋ฉด ๋‹คŒ
    • JCreator๊ฐ€ ปดŒŒผ•  javaŒŒผ˜ „ ›„ ๊ด€๊ณ„๋ฅผ ŒŒ•…•˜ง€ ๋ชป•˜—ฌ, ปดŒŒผด ๋˜ง€ ๋ชป•˜๋Š” ๊ฒฝšฐ๊ฐ€ žˆ๋‹ค. ด๋Ÿด ๊ฒฝšฐ ๋งŒ๋“ค–ด๋‘” Šคฌ๋ฆฝŠธ javac_win.bat „ ˆ˜–‰•˜๊ณ , ด Šคฌ๋ฆฝŠธ๊ฐ€ •ˆ๋œ๋‹ค๋ฉด, —ด–ด„œ javac˜  ˆ๋Œ€ ๊ฒฝ๋กœ๋ฅผ žก•„ฃผ–ด„œ ‹ค–‰•˜๋ฉด „ ›„๊ด€๊ณ„— ๋”ฐ๋ฅธ ปดŒŒผด ด๋ฃจ–ด „๋‹ค. ด›„ JCreator—„œ ปดŒŒผ ๊ฐ€๋Šฅ

JavaDoc

ˆ˜‹œ —…๊ทธ๋ ˆด๋“œ • ๊ฒƒž„
http://165.194.17.15/~neocoin/ProjectZephyrus/Server/doc/index.html

Server UML

๋‚ งœ gif RRose2001 MS VM
05.23 gif Rose.
05.24 gif Rose .
05.27 gif Rose.
06.02 gif Rose MS VM
06.03 gif Rose MS VM
06.07 gif Rose MS VM

๊ฟ€๋‹จง€

  • CVS๊ฐ€ ๊ท€ฐฎœผ๋ฉด ด๊ธ๋กœ ‹ค—˜•ด ๋ณด๋ผ --ƒ๋ฏผ
  • ˜„žฌ ZeroPage™€ Windows 2kƒ— •œ๊ธ€ ธฝ”๋”ฉ ๋ฌธ œ๋กœ ›„ž๋กœ •ด•ผ ZeroPage„œ๋ฒ„—„œ •œ๊ธ€๋กœ •ˆ๋‚ด ๋ฉ”„ง€๊ฐ€ ๋‚˜˜ด. ปดŒŒผ‹œ •ด๊ฒฐ• ˆ˜ žˆง€๋งŒ ๊ท€ฐฎ•„„œ --;; --ƒ๋ฏผ

"end"๋กœ ข…๋ฃŒ, VM 1.3—„œ ๋Œ•„๊ฐ, ๊ธฐ๋ณธ port 22000, ๋‹จผ  ‘†๋งŒ —ˆšฉ
‹ค–‰ž๋ฃŒPlatform
java -jar ~cpp PZServerForWin.jar Port๋ฒˆ˜ธ(Default 22000)jarWindows
java -jar ~cpp PZServerForZeroPage.jar Port๋ฒˆ˜ธ(Default 22000) jarZeroPagešฉ

ผ

  • ๋ชจ๋“  ๊ฐฒด  •˜ ™„„ ƒƒœ. Rename๊ณผ ฝ”๋”ฉค‘— •„š”•œ ๋ถ€๊ฐ€ ธ  •๋ณด๋ฅผ •Œ•„ ๋‚ด•ผ •œ๋‹ค.
  • Client Œ€ฒ˜๋Ÿผ ธก •„ •˜๋ฉด„œ •œ๊ฒƒด •„๋‹ˆ๋ผ. ๊ฒฝ—˜ƒœผ๋กœ˜ „–‰๋ฅ  ๋งŒ˜ ๊ธฐ๋ก• ˆ˜ žˆ„๊ฒƒ ๊ฐ™๋‹ค. --ƒ๋ฏผ

<๊ธฐ๋Šฅ ๊ตฌ˜„>
• ผ
๋‚ดšฉ๊ด€๋ จด๋ž˜Šค๋‹ด๋‹น„–‰œจ
๋กœ๊ทธธ
๋กœ๊ทธธ ๊ฐฒด˜ ƒ„, ~cpp InfoManager—๊ฒŒ ž๋ฃŒ š”ฒญ~cpp LoginCmd๋ฅ˜ƒ๋ฏผ90%
๋กœ๊ทธธ ๊ฐฒด—  •๋ณด ๊ธฐ๋ก~cpp InfoManagerดƒ๊ทœ90%
๋กœ๊ทธ •„›ƒ
๋กœ๊ทธ •„›ƒ‹œ •ด๋‹น †Œผ“˜  ‘† ข…๋ฃŒ ~cpp LogOutCmd,SockManager ๋ฅ˜ƒ๋ฏผ90%
๋กœ๊ทธ •„›ƒ‹œ ~cpp LogoutCmd—  •๋ณด ๊ธฐ๋ก ~cpp InfoManager ดƒ๊ทœ90%
1:1 ๋ฉ”„ง€ ๋ณด๋‚ด๊ณ  ๋ฐ›๊ธฐ
ด๋ผด–ธŠธ—„œ ˜จ ๋ฉ”„ง€๋ฅผ echo‹œ‚ค๋Š” ž‘—…~cpp MessageCmd๋ฅ˜ƒ๋ฏผ90%
นœ๊ตฌ ถ”๊ฐ€
นœ๊ตฌ ๋“๋ก‹œ— ฃผ๊ณ  ๋ฐ›„ ๋ฉ”„ง€˜ ฒ˜๋ฆฌ ~cpp InsertBuddyCmd๋ฅ˜ƒ๋ฏผ90%
นœ๊ตฌ ๋“๋ก‹œ DB—„œ ฒ˜๋ฆฌ•ด•ผ ๋  ƒ™ฉ ~cpp InfoManagerดƒ๊ทœ90%
นœ๊ตฌ ‚ญ œ
นœ๊ตฌ ‚ญ œ‹œ— ฃผ๊ณ  ๋ฐ›„ ๋ฉ”„ง€˜ ฒ˜๋ฆฌ~cpp DeleteBuddyCmd๋ฅ˜ƒ๋ฏผ90%
นœ๊ตฌ ‚ญ œ‹œ— DB—„œ ฒ˜๋ฆฌ•ด•ผ ๋  ๋ถ€๋ถ„~cpp InfoManagerดƒ๊ทœ90%
„œ๋ฒ„  •๋ณด ๊ธฐ๋Šฅ(Spec ๋ฏธ •˜, ๊ตฌ˜„ ๊ฐ• œ„ —†Œ)
„œ๋ฒ„— ˜„žฌ ๋กœ๊ทธธ ค‘ธ ๋ฆฌŠคŠธ ๋ณด๊ธฐ
ID List๋ณดด๊ธฐ
~cpp SocketManager, InfoManager..
„œ๋ฒ„—  ‘†๋œ ดธ›(๋ฏธ ๋กœ๊ทธธ ธ› ๋ชจ๋‘)
IP, ID List ๋ณดด๊ธฐ
...
„œ๋ฒ„๋ฅผ ๊ฐ• œ๋กœ ข…๋ฃŒ ~cpp InfoManager, SocketManager,
~cpp UserSocket, PZServerSocket
๋ฅ˜ƒ๋ฏผ, ดƒ๊ทœ90%
›•˜๋Š” ‚ฌšฉž ๊ฐ• œ ข…๋ฃŒ~cpp SocketManager, InfoManager..
๊ธฐƒ€ ๊ธฐ๋Šฅ
๋‹จผ User๋งŒ  ‘๊ทผ ๊ฐ€๋Šฅ•˜๊ฒŒ ๋งŒ๋“ฌ~cpp CommandManager,LoginCmd,
~cpp LogoutCmd
๋ฅ˜ƒ๋ฏผ80%
<Maintanance>
package๊ฐ„ Information Hiding
„œ๋ฒ„˜ ๊ตฌ๋™‹œ ž๋ฃŒ๊ตฌกฐ ƒ„(DB Tableƒ„)
~cpp PZUser, PZBuddyList Tableƒ„~cpp InfoManagerดƒ๊ทœ?
~cpp PZUser, PZBuddyList Table‚ญ œ~cpp InfoManagerดƒ๊ทœ?
Dummy Data ƒ„~cpp InfoManagerดƒ๊ทœ?
<Bug Report>
๋งŽ€  ‘†›„, ˜น€ ๋ช…๋ น ฒ˜๋ฆฌค‘— DB Connectionด ฃฝ๋Š” ๊ฒฝšฐ
~cpp DB ConnectionManager—„œ connection„ ๋ฐ›€›„— close–ˆ๊ธฐ ๋•Œ๋ฌธ ~cpp InfoManagerดƒ๊ทœ






Thread

  • ๊ถ๊ธˆฆ žˆœผ๋ฉด ๋ฌผ–ด ๋ณด‹œ๊ธธ --ƒ๋ฏผ
    • ง€๊ธˆ ๋”๋ฏธ ด๋ผด–ธŠธ๋Š” ๋ญ “ฐ‹œ๋Š”ค‘? ๊ทธ๋ฆฌ๊ณ  ง€๊ธˆ Server ๋ฐ›•„„œ ‹ค–‰•˜๋ ค๋ฉด MySQL „น˜•ด•ผ •จ? --„ฒœ
      • ˜„žฌ …”๋„œผ๋กœ …ŒŠคŠธ •˜๊ณ  žˆŒ ๋ฐฉ๊ณผ›„ ๋ณด—ฌ „ˆ˜ žˆŒ, MySQL€ ๊ธฐ๋ณธ œผ๋กœ ZeroPage๋กœ „Œ…ด ๋˜–ด žˆœผ๋ฉฐ, ›•˜๋ฉด db.properties ™”ผ„ ˆ˜ ••ด„œ †‰ฝ๊ฒŒ ๋ฐ”๊ฟ€ˆ˜ žˆ๋‹ค. Start Entry point๋Š” RunServer --ƒ๋ฏผ
      • ปดŒŒผ€ ฃผ–ด„ javac_win.bat ๋กœ ‹ค–‰•˜๋ฉด  „ฒด๊ฐ€ ปดŒŒผด ๋จ, Javac˜ ‹ค–‰ œ„น˜๊ฐ€ path— žก˜€ žˆง€ •Š๋‹ค๋ฉด,  ˆ๋Œ€ ๊ฒฝ๋กœ๋กœ ˆ˜ • •„š” --ƒ๋ฏผ

˜น‹œ ƒˆ๋กฌ๋ฐด„ฐ๋งจด •„๋‹Œ ด•ผ๊ธฐ ๋กœ …ŒŠคŠธ•˜๋Š” ‚ฌ๋žŒ€ ฃผ˜ •„š”. ด•ผ๊ธฐ—„œ๋Š” ฌŠธ๋ฒˆ˜ธ๋ฅผ 32767 ๋กœ  œ•œ•˜๋Š”๋“ฏ. (50000 ด ๋„˜–ด๊ฐ€๋‹ˆ๊นŒ overflow „๊ฒฉ˜ ๋ฒ„๊ทธ ๋ฐœƒ. …ŒŠคŠธ•˜๋Š” ‚ฌ๋žŒ€ ฌŠธ ๋ฒˆ˜ธ 30000 ๋ฒˆ ด•˜๊บผ๋กœ ๋ฐ”๊ฟ”„œ •˜‹œ๊ธธ) --„ฒœ
  • ๊ธฐ๋ณธ „Œ…„ 22000 œผ๋กœ ๋ฐ”๊พธ๊ฒ Œ --ƒ๋ฏผ
  • 90%๋Š” ™„๋ฃŒ๋ผ๊ณ  ๋ด๋„ ๋ฌด๋ฐฉ•˜๋‹ค.  „— 100%๋ผ๊ณ  ๋‹ฌ•˜๋‹ค๊ฐ€ „ฒœด—๊ฒŒ ๋ฒ„๊ทธ ๋ฐœ๊ฒฌ๋˜–ด„œ ˜ผ๋‚ฌ๋‹ค๋Š”.. --ƒ๋ฏผ

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:24:06
Processing time 0.0256 sec