Gamexeon.com : Situs, Portal dan Forum Komunitas PC, Online, Handheld, dan Video Games Indonesia home
Gamexeon.com : Situs, Portal dan Forum Komunitas PC, Online, Handheld, dan Video Games Indonesia Logo

Computer Science Programming, System Design, etc


Selamat datang di Gamexeon Forum !

Saat ini kamu sepertinya masih menjadi tamu saja yang hanya dapat memanfaatkan situs ini secara terbatas. Dengan bergabung bersama kami, kamu dapat menanyakan semuanya mulai dari panduan sebuah game sampai utak atik game dan hardware. Banyak fitur lain seperti blogging, fasilitas realtime feeds, video post, poll dan lain sebagainya sebagai sarana diskusi juga disertakan dan siap digunakan oleh siapapun. Registrasinya cepet dan gampang kok, nggak bertele tele, makanya itu daftar sekarang!

Kalo ada masalah mengenai pendaftaran dan lain sebagainya, hubungi kami segera.
Kalau mau lihat index forum aktif yang sedang melakukan diskusi, kamu bisa klik disini .
Kalau mau tau apa saja yang sedang berlangsung di GX secara realtime, kamu bisa klik Newpost. Nggak usah di tutup lagi, nanti dia update sendiri :)

Reply
 
LinkBack Thread Tools Display Modes
Old
  (#1 (permalink))
bekha13 (Offline)
Senior Member
bekha13 will become famous soon enoughbekha13 will become famous soon enoughbekha13 will become famous soon enoughbekha13 will become famous soon enough
 
bekha13's Avatar
 
Posts: 1,089
Join Date: Mar 2007
Location: bogor
Rep Power: 6
Points: 21,759 (Donate)


Points: 19,581, Level: 14
Points: 19,581, Level: 14 Points: 19,581, Level: 14 Points: 19,581, Level: 14
Level up: 98%, 69 Points needed
Level up: 98% Level up: 98% Level up: 98%
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%

[ask] protokol middleware.. - 11-03-08, 16:28

saya ada rencana develop aplikasi middleware, fungsinya yg sederhana aja, misalnya untuk data transfer client / server.
sebenernya pake protokol TCP/UDP bisa aja sih, cuma dua protokol itu rasanya kurang secure dan kurang mampu untuk menangani data berukuran besar & sudah pasti akan ada delay saat transfer data berukuran besar (karena buffernya kecil)..
selain itu protokol middleware juga sudah dikenal mampu menembus berbagai platform sistem operasi, sehingga sudah pasti handal untuk menangani kendala perbedaan sistem.

rencananya aplikasi akan dijalankan pada 2 sistem operasi windows xp sp2 (client) & linux (server). untuk software development menggunakan bahasa C++.
protokol middleware yg akan digunakan ada 2 kemungkinan (soap / corba) belum ditentukan?

saran & masukan dari anda sangat berarti.. klo ada yg mau bantu2 dalam pengembangan aplikasi ini juga boleh. thanks b4



SPEC PC KU: 20x133mhz; 200x4mb ram; 8x133 pci vga

   
Reply With Quote

Sponsored Links

Old
  (#2 (permalink))
baghostito (Offline)
Senior Member
baghostito will become famous soon enoughbaghostito will become famous soon enoughbaghostito will become famous soon enoughbaghostito will become famous soon enough
 
baghostito's Avatar
 
View baghostito's System
Posts: 792
Join Date: Dec 2003
Location: St.bond0
Rep Power: 8
Points: 10,466 (Donate)


Points: 18,064, Level: 14
Points: 18,064, Level: 14 Points: 18,064, Level: 14 Points: 18,064, Level: 14
Level up: 42%, 1,586 Points needed
Level up: 42% Level up: 42% Level up: 42%
Activity: 1%
Activity: 1% Activity: 1% Activity: 1%

Status : Angel & Demon
12-03-08, 22:01

wew.. aku kurang ngerti protokol middleware,
setauku adanya cm protokol TCP/UDP,

bisa dijelasin lg mengenai protokol middleware?
semoga sukses deh develop aplikasi middleware nya..



   
Reply With Quote
Old
  (#3 (permalink))
meongmania (Offline)
Member
meongmania is an unknown quantity at this point
 
Posts: 65
Join Date: Feb 2008
Rep Power: 1
Points: 1,277 (Donate)


Points: 997, Level: 4
Points: 997, Level: 4 Points: 997, Level: 4 Points: 997, Level: 4
Level up: 7%, 653 Points needed
Level up: 7% Level up: 7% Level up: 7%
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%

13-03-08, 00:31

Quote:
Originally Posted by bekha13 View Post
saya ada rencana develop aplikasi middleware, fungsinya yg sederhana aja, misalnya untuk data transfer client / server.
sebenernya pake protokol TCP/UDP bisa aja sih, cuma dua protokol itu rasanya kurang secure dan kurang mampu untuk menangani data berukuran besar & sudah pasti akan ada delay saat transfer data berukuran besar (karena buffernya kecil)..
selain itu protokol middleware juga sudah dikenal mampu menembus berbagai platform sistem operasi, sehingga sudah pasti handal untuk menangani kendala perbedaan sistem.

rencananya aplikasi akan dijalankan pada 2 sistem operasi windows xp sp2 (client) & linux (server). untuk software development menggunakan bahasa C++.
protokol middleware yg akan digunakan ada 2 kemungkinan (soap / corba) belum ditentukan?

saran & masukan dari anda sangat berarti.. klo ada yg mau bantu2 dalam pengembangan aplikasi ini juga boleh. thanks b4
Socket communications ya basisnya TCP/UDP, setau gw lom ada yg laen, semua transmisi data dari perbankan, network games, pasti masuk di salah satu dari ini : TCP, UDP, DCCP, SCTP, IL, RUDP, dan semuanya ngacu ke konsep akar yg sama, TCP/IP-UDP, yg udah jelas standardisasinya jg ya TCP/UDP, why use anything else?

Masalah security dan integritas data... bisa pake kombinasi SSL, async key encryption, hashing, udah cukup koq. Kalo mau cari yg lebih secure lagi ya, bikin transport layer sendiri... TCP/UDP tugasnya cmn buat transact antar client-server dan nganterin data, urusan integritas dan security lebih ke model data packetna, toh ga ada transport layer yg 100% sniff free, seperti yg kita semua tau, rules of communication streams : gw ga bisa nyegah data gw dibajak ato di 'cium' ama orang ditengah jalan, gw cmn bisa tau kalo data itu 'pernah' dibajak dan yg penting orang yg bajak itu ga tau isi data yg gw kirim (concept of hashing and encryption).

Masalah buffer, standar buffer di TCP itu setau gw 8192bytes per byte stream, tapi modifiable, apapun layer yg dipake... Software yg gw kembangin sekarang ngirim data per serialized objects packet sekitar 250kb-3.5mb ga ada masalah apa2 di buffer tuh? toh selama transmisinya ga di 'flush' ama sendernya dia tetep ngelock itu transmisi buat packet yg itu... So, jgn terlalu kawatir masalah buffer...

Setaw gw CORBA ama SOAP itu bkn protokol, tapi metoda pengiriman obyek bwad komunikasi antar aplikasi, dan rata2 SOAP dipake di protokol HTTP/S, sedangkan CORBA itu dipake buat cross language communications, jd kalo client ama servernya di develop ama bahasa yg sama, mengapakah tidak pakai serialized objects yg udah built-in di APInya saja? jauh lebih simpel dan lebih terjamin integritasnya... Kerjaan gw yg sekarang jg gitu kok, pake serialized object -> enkripsi pake blowfish algorithm -> catet Hashnya pake MD5 -> susun di packet bytesnya -> transmit through socket, beres... no worries...

Kalo butuh bantuan ato masukan yg lebih spesifik post aja disini, sapa tau gw bisa bantu, gw jg udah beberapa kali ngerjain kasus kyk gini, mungkin bisa bagi2 pengalaman, sapa tau ada yg berguna... Tapi gw ga maen di C++, kalo Java ato C# gw jabanin da :P

Kalo pengen komponen socket yg secure dan proven coba ini : www.indyproject.org
itu komponen socket yg sangat populer buat secured transmissions, termasuk TCP, UDP, SSL, dkk semua udah di bundel, ocx dan dll nya disediain buat delphi, C++, C#, VB. Banyak game companies setau gw pake komponen ini, and it's very easy to use...
   
Reply With Quote
Old
  (#4 (permalink))
bekha13 (Offline)
Senior Member
bekha13 will become famous soon enoughbekha13 will become famous soon enoughbekha13 will become famous soon enoughbekha13 will become famous soon enough
 
bekha13's Avatar
 
Posts: 1,089
Join Date: Mar 2007
Location: bogor
Rep Power: 6
Points: 21,759 (Donate)


Points: 19,581, Level: 14
Points: 19,581, Level: 14 Points: 19,581, Level: 14 Points: 19,581, Level: 14
Level up: 98%, 69 Points needed
Level up: 98% Level up: 98% Level up: 98%
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%

13-03-08, 10:09

Quote:
Originally Posted by baghostito View Post
wew.. aku kurang ngerti protokol middleware,
setauku adanya cm protokol TCP/UDP,

bisa dijelasin lg mengenai protokol middleware?
semoga sukses deh develop aplikasi middleware nya..
kurang lebih penjelasannya meongmania + sedikit dari penjelasan gw post pertama udah menjelaskan basicnya middleware

Quote:
Originally Posted by meongmania View Post
Socket communications ya basisnya TCP/UDP, setau gw lom ada yg laen, semua transmisi data dari perbankan, network games, pasti masuk di salah satu dari ini : TCP, UDP, DCCP, SCTP, IL, RUDP, dan semuanya ngacu ke konsep akar yg sama, TCP/IP-UDP, yg udah jelas standardisasinya jg ya TCP/UDP, why use anything else?

Masalah security dan integritas data... bisa pake kombinasi SSL, async key encryption, hashing, udah cukup koq. Kalo mau cari yg lebih secure lagi ya, bikin transport layer sendiri... TCP/UDP tugasnya cmn buat transact antar client-server dan nganterin data, urusan integritas dan security lebih ke model data packetna, toh ga ada transport layer yg 100% sniff free, seperti yg kita semua tau, rules of communication streams : gw ga bisa nyegah data gw dibajak ato di 'cium' ama orang ditengah jalan, gw cmn bisa tau kalo data itu 'pernah' dibajak dan yg penting orang yg bajak itu ga tau isi data yg gw kirim (concept of hashing and encryption).

Masalah buffer, standar buffer di TCP itu setau gw 8192bytes per byte stream, tapi modifiable, apapun layer yg dipake... Software yg gw kembangin sekarang ngirim data per serialized objects packet sekitar 250kb-3.5mb ga ada masalah apa2 di buffer tuh? toh selama transmisinya ga di 'flush' ama sendernya dia tetep ngelock itu transmisi buat packet yg itu... So, jgn terlalu kawatir masalah buffer...

Setaw gw CORBA ama SOAP itu bkn protokol, tapi metoda pengiriman obyek bwad komunikasi antar aplikasi, dan rata2 SOAP dipake di protokol HTTP/S, sedangkan CORBA itu dipake buat cross language communications, jd kalo client ama servernya di develop ama bahasa yg sama, mengapakah tidak pakai serialized objects yg udah built-in di APInya saja? jauh lebih simpel dan lebih terjamin integritasnya... Kerjaan gw yg sekarang jg gitu kok, pake serialized object -> enkripsi pake blowfish algorithm -> catet Hashnya pake MD5 -> susun di packet bytesnya -> transmit through socket, beres... no worries...

Kalo butuh bantuan ato masukan yg lebih spesifik post aja disini, sapa tau gw bisa bantu, gw jg udah beberapa kali ngerjain kasus kyk gini, mungkin bisa bagi2 pengalaman, sapa tau ada yg berguna... Tapi gw ga maen di C++, kalo Java ato C# gw jabanin da :P

Kalo pengen komponen socket yg secure dan proven coba ini : www.indyproject.org
itu komponen socket yg sangat populer buat secured transmissions, termasuk TCP, UDP, SSL, dkk semua udah di bundel, ocx dan dll nya disediain buat delphi, C++, C#, VB. Banyak game companies setau gw pake komponen ini, and it's very easy to use...
biasanya juga gw pake tcp/udp cuma.. mumpung lagi ada niat belajar jadi pengen nyoba yg lain (kebetulan denger protokol2 middleware tuh ada dan lebih handal untuk lintas antar platform.. nah itulah alasannya). awalnya sih pengen nyoba pake corba (orb)-nya si VB (VBORB), cuma setelah tau developnya udah berenti sejak VB3 tahun 1995 jadi males deh

default buffer tcp bisa di modif gw juga pernah denger sih cuma masih blum tau caranya gimana, tiap frame biasanya gw cuma brani kirim 512byte (makanya jadi lemot abis )

klo C# blum tau bisa untuk linux ato ngga

www.indyproject.org nanti gw cuba dulu deh..

thanks banyak brow.. +rep

edit:
gw dah nyoba www.indyproject.org bro, cuma tempat donlot resourcenya gmn ada pilihan Indy.Sockets (CLR) & Indy.Sockets (VCL) kyknya masing2 udah ada library semua soket.. yg bisa dipake yg mana?



SPEC PC KU: 20x133mhz; 200x4mb ram; 8x133 pci vga


Last edited by bekha13; 13-03-08 at 10:23. Reason: 123124
   
Reply With Quote
Old
  (#5 (permalink))
meongmania (Offline)
Member
meongmania is an unknown quantity at this point
 
Posts: 65
Join Date: Feb 2008
Rep Power: 1
Points: 1,277 (Donate)


Points: 997, Level: 4
Points: 997, Level: 4 Points: 997, Level: 4 Points: 997, Level: 4
Level up: 7%, 653 Points needed
Level up: 7% Level up: 7% Level up: 7%
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%

13-03-08, 17:59

Quote:
Originally Posted by bekha13 View Post
biasanya juga gw pake tcp/udp cuma.. mumpung lagi ada niat belajar jadi pengen nyoba yg lain (kebetulan denger protokol2 middleware tuh ada dan lebih handal untuk lintas antar platform.. nah itulah alasannya). awalnya sih pengen nyoba pake corba (orb)-nya si VB (VBORB), cuma setelah tau developnya udah berenti sejak VB3 tahun 1995 jadi males deh
kalo misalnya lu ngewrite client ama servernya pake bahasa yg sama, ga usah pake corba, corba itu implementasi transact object data kalo bahasa pemrogramannya beda, katanya kan development languagenya full pake C++, ndak usah pake corba jg bisa, apalagi kalo pake Java, tinggal implements Serializable dah beres, ga perlu repot2 cari ini itu.

Quote:
Originally Posted by bekha13 View Post
default buffer tcp bisa di modif gw juga pernah denger sih cuma masih blum tau caranya gimana, tiap frame biasanya gw cuma brani kirim 512byte (makanya jadi lemot abis )
buffer buat send ama receive biasanya di set dari properti class connection tool API yg dipake, biasanya emg ukurannya kecil buat nyegah overflow di modem, nic, hubnya, kalo masalah besarnya data yg dikirim, ga ada hubungan ama buffernya, walopun buffernya cmn 1kb, ngirim data 10mb jg tetep jalan kok. kalo API socketnya bagus nanti bisa diatur besar data yg dikirim per frame secara otomatis (di indy bisa dipotong2 otomatis).

Quote:
Originally Posted by bekha13 View Post
klo C# blum tau bisa untuk linux ato ngga
C# itu .Net language, resminya emang bukan buat platform OS selain windows, walopun sebenernya ada .net buat linux, kyk Mono (Main Page - Mono), cmn kalo emang di linux nanti servernya, ya jgn pake C#, java lebih bagus, rata2 socket programming jaman skrg pake Java kok.


Quote:
Originally Posted by bekha13 View Post
gw dah nyoba www.indyproject.org bro, cuma tempat donlot resourcenya gmn ada pilihan Indy.Sockets (CLR) & Indy.Sockets (VCL) kyknya masing2 udah ada library semua soket.. yg bisa dipake yg mana?
VCL
   
Reply With Quote
Old
  (#6 (permalink))
bekha13 (Offline)
Senior Member
bekha13 will become famous soon enoughbekha13 will become famous soon enoughbekha13 will become famous soon enoughbekha13 will become famous soon enough
 
bekha13's Avatar
 
Posts: 1,089
Join Date: Mar 2007
Location: bogor
Rep Power: 6
Points: 21,759 (Donate)


Points: 19,581, Level: 14
Points: 19,581, Level: 14 Points: 19,581, Level: 14 Points: 19,581, Level: 14
Level up: 98%, 69 Points needed
Level up: 98% Level up: 98% Level up: 98%
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%

14-03-08, 09:55

Quote:
Originally Posted by meongmania View Post
buffer buat send ama receive biasanya di set dari properti class connection tool API yg dipake, biasanya emg ukurannya kecil buat nyegah overflow di modem, nic, hubnya, kalo masalah besarnya data yg dikirim, ga ada hubungan ama buffernya, walopun buffernya cmn 1kb, ngirim data 10mb jg tetep jalan kok. kalo API socketnya bagus nanti bisa diatur besar data yg dikirim per frame secara otomatis (di indy bisa dipotong2 otomatis).
dulu sblm gw split jadi beberapa bagian, gw pernah coba send pake default buffer. pas transfer data 1.2mb data yg ke transfer cuma beberapa kb .

pake indy bisa di split otomatis ya, blum sempet coba deh. mungkin besok



SPEC PC KU: 20x133mhz; 200x4mb ram; 8x133 pci vga

   
Reply With Quote
Old
  (#7 (permalink))
meongmania (Offline)
Member
meongmania is an unknown quantity at this point
 
Posts: 65
Join Date: Feb 2008
Rep Power: 1
Points: 1,277 (Donate)


Points: 997, Level: 4
Points: 997, Level: 4 Points: 997, Level: 4 Points: 997, Level: 4
Level up: 7%, 653 Points needed
Level up: 7% Level up: 7% Level up: 7%
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%

14-03-08, 21:17

Quote:
Originally Posted by bekha13 View Post
dulu sblm gw split jadi beberapa bagian, gw pernah coba send pake default buffer. pas transfer data 1.2mb data yg ke transfer cuma beberapa kb .

pake indy bisa di split otomatis ya, blum sempet coba deh. mungkin besok
itu kalo kasusnya gitu, masalahnya bukan di buffernya, tapi cara send streamnya, si receiver itu kan ga tau lu ngesend berapa bytes of data, jadi streamnya dah ke flush/close sebelum semua bytes nya kekirim, byk cara buat ngatasin hal ini, misalnya :
1. ngasi tau receiver besar data yg dikirim di awal packet
2. ngasih token yg nandain end-of-stream di packet
3. ngebagi2 packet dlm ukuran yg pas sesuai dengan buffer size
4. dst.

waktu gw ngerjain kasus yg sama kyk gini, solusi yg gw pake itu yg no.1, jadi coding di 'send' nya jadi kyk gini :

Quote:
private bool SendSync(TcpClient client, byte[] data, bool shouldEncrypt)
{
lock (sendLocker)
{
try
{
BinaryWriter writer = new BinaryWriter(client.GetStream());
if (shouldEncrypt)
data = Data.Compressions.Compress.GetCompressed(data);
writer.Write(data.Length); // gw ngasi tau panjang packetnya
writer.Write(data);// gw ngirim packetnya
writer.Flush();
return true;
}
catch (Exception)
{
return false;
}
}
}
ini contoh coding pake C#, kurang lebih konsepnya sama, tapi jarang orang pake solusi ini, rata2 temen2 gw pake no.2, gw pake ini soalnya 'sistem'nya nuntut solusi kyk gini... Data yg gw kirim itu berkisar antara 200kb-5mb, dan terenkripsi blowfish 128bit, terus di compress pake nzip sebelum dikirim...

hope this helps...
   
Reply With Quote
Old
  (#8 (permalink))
seanman (Offline)
Senior Member
seanman is an unknown quantity at this point
 
Posts: 123
Join Date: Feb 2008
Rep Power: 1
Points: 817 (Donate)


Points: 726, Level: 3
Points: 726, Level: 3 Points: 726, Level: 3 Points: 726, Level: 3
Level up: 56%, 224 Points needed
Level up: 56% Level up: 56% Level up: 56%
Activity: 9%
Activity: 9% Activity: 9% Activity: 9%

17-03-08, 23:54

Bisa ga dijelasin protokol middlewar bagian dari mana? Dari servernya? maklum saya awam, namanya juga baru masuk. Biasanya middleware dipakai buat server apa?
   
Reply With Quote
Old
  (#9 (permalink))
bekha13 (Offline)
Senior Member
bekha13 will become famous soon enoughbekha13 will become famous soon enoughbekha13 will become famous soon enoughbekha13 will become famous soon enough
 
bekha13's Avatar
 
Posts: 1,089
Join Date: Mar 2007
Location: bogor
Rep Power: 6
Points: 21,759 (Donate)


Points: 19,581, Level: 14
Points: 19,581, Level: 14 Points: 19,581, Level: 14 Points: 19,581, Level: 14
Level up: 98%, 69 Points needed
Level up: 98% Level up: 98% Level up: 98%
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%

19-03-08, 11:04

Quote:
Originally Posted by meongmania View Post
itu kalo kasusnya gitu, masalahnya bukan di buffernya, tapi cara send streamnya, si receiver itu kan ga tau lu ngesend berapa bytes of data, jadi streamnya dah ke flush/close sebelum semua bytes nya kekirim, byk cara buat ngatasin hal ini, misalnya :
1. ngasi tau receiver besar data yg dikirim di awal packet
2. ngasih token yg nandain end-of-stream di packet
3. ngebagi2 packet dlm ukuran yg pas sesuai dengan buffer size
4. dst.

waktu gw ngerjain kasus yg sama kyk gini, solusi yg gw pake itu yg no.1, jadi coding di 'send' nya jadi kyk gini :

Quote:
private bool SendSync(TcpClient client, byte[] data, bool shouldEncrypt)
{
lock (sendLocker)
{
try
{
BinaryWriter writer = new BinaryWriter(client.GetStream());
if (shouldEncrypt)
data = Data.Compressions.Compress.GetCompressed(data);
writer.Write(data.Length); // gw ngasi tau panjang packetnya
writer.Write(data);// gw ngirim packetnya
writer.Flush();
return true;
}
catch (Exception)
{
return false;
}
}
}
ini contoh coding pake C#, kurang lebih konsepnya sama, tapi jarang orang pake solusi ini, rata2 temen2 gw pake no.2, gw pake ini soalnya 'sistem'nya nuntut solusi kyk gini... Data yg gw kirim itu berkisar antara 200kb-5mb, dan terenkripsi blowfish 128bit, terus di compress pake nzip sebelum dikirim...

hope this helps...
tenkyu yah meong, nanti gw pelajari dulu.. gi g konsen, gara2 sering mati lampu



SPEC PC KU: 20x133mhz; 200x4mb ram; 8x133 pci vga

   
Reply With Quote
Old
  (#10 (permalink))
theX (Offline)
Junior Member
theX is an unknown quantity at this point
 
Posts: 1
Join Date: Mar 2008
Rep Power: 0
Points: 505 (Donate)


Points: 311, Level: 2
Points: 311, Level: 2 Points: 311, Level: 2