From 1d71ea47520cdc9dc2179ecd36b47c5ecca69d35 Mon Sep 17 00:00:00 2001 From: esoe Date: Mon, 10 Oct 2022 16:00:40 +0300 Subject: [PATCH] qq --- src/main/java/ru/molokoin/Connection.java | 21 ++++++++++ src/main/java/ru/molokoin/ServerLauncher.java | 38 ++++++++++++++++++ target/classes/ru/molokoin/Connection.class | Bin 0 -> 702 bytes .../classes/ru/molokoin/ExchangeServer.class | Bin 291 -> 842 bytes .../classes/ru/molokoin/ServerLauncher.class | Bin 0 -> 1712 bytes 5 files changed, 59 insertions(+) create mode 100644 src/main/java/ru/molokoin/Connection.java create mode 100644 src/main/java/ru/molokoin/ServerLauncher.java create mode 100644 target/classes/ru/molokoin/Connection.class create mode 100644 target/classes/ru/molokoin/ServerLauncher.class diff --git a/src/main/java/ru/molokoin/Connection.java b/src/main/java/ru/molokoin/Connection.java new file mode 100644 index 0000000..c630449 --- /dev/null +++ b/src/main/java/ru/molokoin/Connection.java @@ -0,0 +1,21 @@ +package ru.molokoin; + +import java.nio.ByteBuffer; +import java.nio.channels.SocketChannel; + +public class Connection { + public SocketChannel accepted = null; + public Connection(){} + public Connection(SocketChannel accepted){ + this.accepted = accepted; + } + //читаем из подключения + public void read(ByteBuffer byteBuffer){ + // + } + //пишем в подключение + public void write(ByteBuffer byteBuffer){ + // + } + +} diff --git a/src/main/java/ru/molokoin/ServerLauncher.java b/src/main/java/ru/molokoin/ServerLauncher.java new file mode 100644 index 0000000..d9a550f --- /dev/null +++ b/src/main/java/ru/molokoin/ServerLauncher.java @@ -0,0 +1,38 @@ +package ru.molokoin; + +import java.io.IOException; +import java.net.InetSocketAddress; +import java.nio.channels.ServerSocketChannel; +import java.nio.channels.SocketChannel; +import java.util.Queue; + +/** + * Поток в котором запускается сервер в режим ожидания подключений. + * Подключения ставятся в очередь + */ +public class ServerLauncher implements Runnable{ + private int tcpPort = 0; + private ServerSocketChannel channel = null; + private Queue connectionQueue = null; + + @Override + public void run() { + try{ + this.channel = ServerSocketChannel.open(); + this.channel.bind(new InetSocketAddress(tcpPort)); + } catch(IOException e){ + e.printStackTrace(); + return; + } + while(true){ + try{ + SocketChannel accepted = this.channel.accept(); + System.out.println("Socket accepted: " + accepted); + //todo check if the queue can even accept more sockets. + this.connectionQueue.add(new Connection(accepted)); + } catch(IOException e){ + e.printStackTrace(); + } + } + } +} diff --git a/target/classes/ru/molokoin/Connection.class b/target/classes/ru/molokoin/Connection.class new file mode 100644 index 0000000000000000000000000000000000000000..33c8a5464c445d92e13588aa9291d5142a7524a6 GIT binary patch literal 702 zcmaiy%TB^T6o&sP`c8HCH4@#`WFo@0uCUyV&rsb$cgh&jFQJS`tTj}t&=Yr3D=%*Mc%^rQ1`V2` zr8D|yTCz;CXajWT$?L!%3$R)rbl5xWH}VV|(tQ|r=BOh}wK)_iW+&As;fOpM|%++>lzAe{f|2fj|k)B77l6){?e0k^r$#Ex3Z?HT;@7HJokLWhkYKwW#9;rBTn`sDti$1`0dkQ4-tCK literal 0 HcmV?d00001 diff --git a/target/classes/ru/molokoin/ExchangeServer.class b/target/classes/ru/molokoin/ExchangeServer.class index 2308d07deea432c130515c704298a0fec7f4c640..d71d0c39c48eab55444d079498fd0f4c461d09c5 100644 GIT binary patch literal 842 zcmah`&2G~`5dOBYQ(%sUlUJHqI*9)>%s%yW+I~ zsgbC}1MpCYnKh_s1m)nhJu~0m?2n({z5{rPrva7(Hf#}3vNSu(w29w*O2*QRR8QG+ zWdnEuE2r{Y#wk_f_k&ZFHYYQ~HSIy(GRdRSJP&-OeZFK%hpwijz3wW=yp$c&8 z8do_UV0pnosoa%?Nyf^Ch|q|zf*PqFIo1#%np|oLtas)Nd?<{OgH#>v_v;Y26TwGS zpwZPvy(=aIWskYduCqj@eQ7oSyJCn68ssz|>#4wI_uo6AfK}ym1hzUi4RZ8gsHdf< zH<8*1v^yW?EcbG&&4>(hsO<=kIj29(rKK%<(vHYX>n{L-u$L7!QExQ|YF)p!XM8Ex zrX5u1o(1Z>2>S9-LqHE#famb&1e%u!Pc9Li%y4^#)vs9lOw}c{>8#Q$Xl~tAn2T=W zH$J8}cm0DI?k++q4ic3ExQ7iI6u6H~I$8Y1AHqdo-2vOA&wvuhUp`T=-h=;BEZ;~` m$3tupQR$+L5PZSf1s+{_37vj}@~_SX39y4*=WEZ|fAS0eb(vxS delta 129 zcmX@bwwQ_Q)W2Q(7#JAL83ZPBSxVSs=4F=HF)}b~XofK|usG+Zq;fGZGjL9Pp)*;M zQDgE^MlCM}21X!cWncr6>_DyhU_Ju_tJZb~j*UP8CI&7b36f?2>g5KKJYY5}kmd#Q M7#aA0BohNa09b_(`Tzg` diff --git a/target/classes/ru/molokoin/ServerLauncher.class b/target/classes/ru/molokoin/ServerLauncher.class new file mode 100644 index 0000000000000000000000000000000000000000..92ad0c11f999fbf1f2277ab430caf98b7e89ee5c GIT binary patch literal 1712 zcma)7TXWk)6#mvutJqN+Hy0-jZAsdO`a&b_g*qvup#_7ROBHO=Qb3V+5;czGk);m& zqCA(O4ka@@Gd%H6_y?44CA+bhJmkTv-LvPM{myqT{_Ef0{{V0cwuY3zj2{~NUd!9_ z9M>?V|4jNdD|GE$>1!Ag$UU{5Sw_opcZ{{|r_v5IoD~>5mOcz!*V=AL0WGlG>z*G7 zh$>I^uI0M2C2*q_X}gYR^kkjhOQvV<$zUZ`tO$(S9!>1P@!XA2hV*$MwhaTPWke!s zWlU$swSv&+efj_Qi?zXkR$lw7+@a;!MaOl5I|AuKu`V#Q;x%O!X^iU_MJ@w@NgW!7 z)ow~h23fVcsAB{=(bXJRu7>;D(%+0D9;&=z z%;KtsIf408F{I-ft`oM`maagtP&_5E8s1`}<0oWbR9zXw%r7^azU*|em`6cTP^9xh zwOCic$~xZ0O$xRhw<)k(=siXU3FFFXQDkA@T@CLDj7Lyd4%M}LKiRUa@~z`N(Pw19gt`x~ zreSq}@PQb0tSh8iM0m^9@K7Lsa_?lZflU?JHv-rDb&%-h1og%G2pZVZ@GbKhad_Om zIv(LMxwo1OJ;72x^hX>YZ0zH_3=|3bX1Gtdz}!jYpFkpTE-Ix5R=d}nS<$}VBId*)SzcXA@Y8Y@>rqn2iz8nO+I~VQGQ_cvH<9dOT)#waNlnyagO26Pn zyg*(p)6XM|8LoMH20aYnJiU%`&0(D9Hz-xUX^%^|%&)+e*S`Oueu}d1OTXbw<@8tN zk1)T*@5CW)bWv&?AX6)MvG82ob@6`f7u-6+($?6ghgjyt=Usf+MUA)9N7&dZAHsZz zdJ2t$SAR!_2e1B&-k9O*21kvFI=^Ws)C(Mez$E#|^E^dl)3}O@)Vho^Ps{96liW2Z yeau)?G$mpt;$AdY825L0!l=q9Q2GOR4Qj-)AE`Nl^b-xn8UFDYytF7vVf#NMA*}HL literal 0 HcmV?d00001