Skip to content

Commit 130e9c4

Browse files
committed
update klk1
1 parent c41c77a commit 130e9c4

File tree

16 files changed

+255
-2
lines changed

16 files changed

+255
-2
lines changed

matan/sem2/KLK1/O/O3.typ

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
*3.1 Многочлен*
66
Многочленом (полиномом) $P_n (x)$ степени n $gt.eq$ 1 будем называть функцию вида:
77
#set align(center)
8-
$P_n (x) = a_0 + a_1 x + a_2 x_2 + dots + a_n x_n,i in RR, a_n eq.not 0, i in {1, 2, dots, n}$
8+
$P_n (x) = a_0 + a_1 x + a_2 x^2 + dots + a_n x^n,i in RR, a_n eq.not 0, i in {1, 2, dots, n}$
99

1010
#set align(left)
1111
Многочленом нулевой степени назовем произвольную константу, отличную от нуля. У тождественно равного нулю многочлена степенью будем называть символ $-infinity$.

matan/sem2/KLK1/O/O4.typ

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
Простейшими дробями (дробями первого и второго типов) называют дроби вида:
77
#set align(center)
88
#set text(size: 14pt)
9-
$A/(x-a)^k$ , $(A x + B) /((x_2 + p x + q)^k)$
9+
$A/(x-a)^k$ , $(A x + B) /((x^2 + p x + q)^k)$
1010
#set text(size: 11pt)
1111
#set align(left)
1212
где $k in NN$ и $p^2 - 4q lt 0$

matan/sem2/KLK1/test.pdf

4 Bytes
Binary file not shown.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
public class M2 {
2+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package client;
2+
3+
import server.network.NetworkDTO;
4+
import server.network.NetworkManager;
5+
import server.network.drivers.INetworkDriver;
6+
import server.network.drivers.UDPDriver;
7+
8+
import java.util.HashMap;
9+
10+
public class Main implements Runnable{
11+
public void run(){
12+
UDPDriver driver = new UDPDriver(4055);
13+
NetworkManager networkManager = new NetworkManager(driver);
14+
15+
HashMap<String,String> hamp = new HashMap<>();
16+
hamp.put("test", "t2");
17+
18+
try {
19+
networkManager.send(
20+
new NetworkDTO(
21+
"op1",
22+
hamp
23+
)
24+
);
25+
}
26+
catch (Exception e){
27+
28+
}
29+
}
30+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
package client.network;
2+
import java.util.HashMap;
3+
4+
public record NetworkDTO(String opName, HashMap<String,String> args) {}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package client.network;
2+
3+
import client.network.drivers.INetworkDriver;
4+
5+
import java.io.*;
6+
7+
public class NetworkManager {
8+
INetworkDriver driver;
9+
public NetworkManager(INetworkDriver driver) {
10+
this.driver = driver;
11+
}
12+
13+
public void send(Object obj) throws IOException{
14+
this.driver.send(
15+
this.serialize(obj)
16+
);
17+
}
18+
public NetworkDTO recive() throws IOException, ClassNotFoundException{
19+
return this.deserialize(
20+
this.driver.receive()
21+
);
22+
}
23+
24+
private byte[] serialize(Object obj) throws IOException {
25+
ByteArrayOutputStream bos = new ByteArrayOutputStream();
26+
ObjectOutputStream oos = new ObjectOutputStream(bos);
27+
oos.writeObject(obj);
28+
oos.close();
29+
return bos.toByteArray();
30+
}
31+
private NetworkDTO deserialize(byte[] bytes) throws IOException, ClassNotFoundException {
32+
if (bytes == null) return null;
33+
InputStream is = new ByteArrayInputStream(bytes);
34+
ObjectInputStream ois = new ObjectInputStream(is);
35+
return (NetworkDTO) ois.readObject();
36+
}
37+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package client.network.drivers;
2+
3+
import java.io.IOException;
4+
import java.net.SocketException;
5+
6+
public interface INetworkDriver {
7+
public void init() throws SocketException, IOException;
8+
public void send(byte[] data) throws IOException;
9+
public byte[] receive() throws IOException;
10+
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package client.network.drivers;
2+
3+
import java.io.IOException;
4+
import java.net.InetSocketAddress;
5+
import java.net.SocketAddress;
6+
import java.net.SocketException;
7+
import java.nio.ByteBuffer;
8+
import java.nio.channels.DatagramChannel;
9+
10+
public class UDPDriver implements INetworkDriver {
11+
DatagramChannel channel;
12+
int port;
13+
SocketAddress addr;
14+
private final int PACKET_SIZE = 1024;
15+
private final int DATA_SIZE = PACKET_SIZE - 1;
16+
17+
public UDPDriver(int port) {
18+
this.port = port;
19+
}
20+
21+
public void init() throws SocketException, IOException{
22+
addr = new InetSocketAddress(port);
23+
channel = DatagramChannel.open();
24+
channel.bind(addr);
25+
channel.configureBlocking(false);
26+
}
27+
28+
public void send(byte[] data) throws IOException {
29+
ByteBuffer buf = ByteBuffer.wrap(data);
30+
channel.send(buf, addr);
31+
}
32+
33+
public byte[] receive() throws IOException{
34+
ByteBuffer buf = ByteBuffer.allocate(DATA_SIZE);
35+
addr = channel.receive(buf);
36+
if (addr != null) {
37+
return buf.array();
38+
}
39+
return null;
40+
}
41+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package server;
2+
3+
import server.core.Engine;
4+
5+
public class ServerCycle implements Runnable {
6+
public void run(){
7+
Engine engine = new Engine();
8+
while (true){
9+
engine.mainCycle();
10+
}
11+
}
12+
}

0 commit comments

Comments
 (0)