Oni zlbg[N@\ |
hLg̖ڎ |
Oni ł̓zXgԂ̒ʐM TCP/IP Ȃǂ鰹ロ越lbg[Np邱Ƃ\łB zlbg[Np邱ƂŁA܂܂ȃvgȐɃlbg[NzƂłB
Oni zlbg[N͈ȉ̂悤ȍ\ɂȂĂB
![]()
}: Oni zlbg[N\
Connectionw̓Xg[^̃zXgԒʐMsATCP/IPASSLȂ ̃vgR鰹ロ隠 C^tF[X
oni.net.tunnel.Connectionノて蛋トConnectionフ受け付sC^tF[Xoni.net.tunnel.ConnectionServerノて蛋トConnectionConnectionServerTCP/IPナのソPbg T[o\Pbgノ対家考トよいB
Oni ナはデtHgConnectionyム、ConnectionServerフ屡TCP/IP gpTCPConnectionyTCPConnectionServerĂBTunnelw͐ڑꂽzXgԂ̃f[^ʐMHA f[^ʐM̓pPbg(
oni.net.tunnel.Packet)PʂōsBTunnel̎ς邱ƂɂāAf[^̈Í∳kAʃ\[X ɂf[^ʐM (Ⴆ UDP/IP ɂʐM) sƂłB
Onił̓zXgԂɐڑꂽConnectionf[^̒ʐMHƂĎgPlainTunnelƁA UDP/IPf[^̒ʐMHƂĎgUDPTunnelĂBLanew
Tunnelpĕ̉zIȒʐMHB zXgɑLaneƂATunnelLĒʐMsB
ConnectionyTunnel͊g\Ȃ߁AOni zlbg[N͂܂܂ȃlbg[NŎgp邱Ƃ\ƂȂĂB
LaneAddresszlbg[N̐ڑ̑w
LaneAddresspBLaneAddressł InetPointAʖňӂɎw肷B
oni.net.InetPointLaneڑۂ̑vOŵłAvgRAzXgA|[gԍ琬B vgR͐ڑɎgpConnectioñ^Cvw肷̂łAύX邱Ƃɂ ʐMɎgp鉺ʃvgRw肷邱ƂłBInetPointŎg|[gԍLaneManagergetInetPointPort()\bhoƂłBʖ̓VXeňӂłΔCӂ̕ェ用ナン、ノ緬関ヘな
LaneManageropen\bhナ登^LaneAcceptorフ晒Xfoo.bar.BuzzLaneAcceptorナば、"foo.bar.BuzzLaneAcceptor"フようノとよいB
ロに接滝合
LanepB 閧ゥフ接濯け付鼾kLaneManagerpメけLaneManagertLane邱ƂłB
f[^̑M͑o
Lanẽ\bhĂяoƂōsBsend\bhőMAreceive\bhŎMB܂A
setTunnelTypep邱ƂɂāAf[^̑MTunnel̃^Cvw肷邱ƂłB w肷Ƃ́Ap^CṽNX̃CX^XZbgB ftHgłPlainTunnelTypepB ftHgTunnel̃^CvƂĈȉ̂̂pӂĂB
PlainTunnelType: zXgԂɐڑꂽConnectionpf[^Ms^CvUDPTunnelType: UDP/IPpf[^Ms^CvB UDP/IPp̂ ʐMRXgႭ邱Ƃł邪AMf[^ꂽ蓞BۂȂꍇB
Lanẽf[^̂ЂƂɂ܂Ƃ܂߂邱Ƃ\łBLaneɓLaneDataQueueZbgALaneDataQueue邾 炷ׂĂLaneŎ薰ッ付f[^ナ
LaneManager ɂ҂̗B
import oni.net.*;
import java.util.ArrayList;
class LaneList implements LaneAcceptor {
ArrayList list = new ArrayList();
public void laneAccepted(Lane lane) {
System.out.println("Lane accpeted.");
list.add(lane);
}
}
public class LaneAcceptSample {
...
public static void main(String[] args) throws NetException {
LaneManager laneManager = LaneManager.getDefaultLaneManager();
LaneList laneList = new LaneList();
LaneManager.open("LaneList", laneList); // ʖ"LaneList"LanetJn
...
}
...
}
...
Lane ŐڑAMB
...
LaneAddress address = new LaneAddress(inetpoint, name);
Lane lane = new Lane(address);
lane.open();
try {
...
lane.send(data);
...
} finally {
lane.close();
}
Oni zlbg[ÑJX^}CY LaneManagerƂ JX^}CYꂽ oni.net.NetProperty w肷邱ƂōsB ȉ̂ƂNetPropertyōsB
- vpeB̐ݒ
- ConnectionFactoryCreator̒lj
- ConnectionServerFactoryCreator̐ݒ
- TunnelFactoryCreator̒lj
- InetPoint̃vgR̕ʖ̐ݒ
- setBoolean
boollƂĐݒ
- setByte
bytelƂĐݒ
- setShort
shortlƂĐݒ
- setInt
intlƂĐݒ
- setLong
longlƂĐݒ
- setFloat
floatlƂĐݒ
- setDouble
doublelƂĐݒ
- setString
String^ƂĐݒ
- setObject
Object^ƂĐݒ
- getBoolean
boollƂĎ擾
- getByte
bytelƂĎ擾
- getShort
shortlƂĎ擾
- getInt
intlƂĎ擾
- getLong
longlƂĎ擾
- getFloat
floatlƂĎ擾
- getDouble
doublelƂĎ擾
- getString
String^ƂĎ擾
- getObject
Object^ƂĎ擾
Oni ŃftHgŗpӂĂTunnelConnection̐ݒ\ȃvpeB
ꗗ́AB
CreatorC^tF[X́A
NetPropertygponi.net̊et@NgNX邽߂̃C^tF[XłB
ConnectionFactoryConnection邽߂ t@NgC^tF[XłB lj邱ƂɂA zXgւ̐ڑɎgpConnectioñ^Cv₷ƂłB
ConnectionServerFactoryConnectionServer邽߂ t@NgC^tF[XłB ݒ肷邱ƂɂALaneManagerŎgpConnectionServerύX邱ƂłB
TunnelFactoryTunnel邽߂ t@NgC^tF[XłB lj邱ƂɂLaneŎgpA Tunnel̃^Cvlj邱ƂłB
InetPoint̃vgRɂ́AꂼConnectioñ^Cv\ConnectionTypeNX TuNXg邪Â܂܃NXw肷ƒ̂ŕʖݒ肷邱ƂłB ႦATCPConnectioñ^Cv\NX oni.net.type.TCPConnectionType ł邪A InetPointł̃RXgN^w肷ƖOȂĂ܂B ŁANetProperty#setConnectionTypeAlias\bhgp邱ƂɂAݒ肵ʖ InetPoint邱ƂłB// ʖ̐ݒO net InetPoint("oni.net.type.TCPConnectionType://localhost:8684); // ʖ̐ݒ setConnectionTypeAlias("tcp", new oni.net.type.TCPConnectionType()); // ʖ̐ݒ new InetPoint("tcp://localhost:8684");
|
Copyright © 2001-2002 CyberStep, Inc. All Rights Reserved. |
Oni \tgEFA |