Skip to content

Commit b28f13e

Browse files
committedFeb 13, 2025
More csharp udp
1 parent cbe5d82 commit b28f13e

File tree

4 files changed

+25
-29
lines changed

4 files changed

+25
-29
lines changed
 
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
DOCKER_IMAGE:=dotnet
2-
DOCKER_RUN:=docker run --rm -it --volume ${PWD}:/app/:ro -p 5005:5005/udp --volume /app/bin --volume /app/obj ${DOCKER_IMAGE}
2+
DOCKER_RUN:=docker run --rm -it --volume ${PWD}:/app/:ro --volume /app/bin --volume /app/obj
33

44
compile_and_run_current_folder_in_container:
5-
${DOCKER_RUN}
5+
${DOCKER_RUN} ${DOCKER_IMAGE}
66
build:
77
mkdir -p bin obj
88
docker build --tag ${DOCKER_IMAGE} .
99
run:
1010
docker run --rm -it ${DOCKER_IMAGE}
1111
shell:
12-
${DOCKER_RUN} /bin/sh
12+
${DOCKER_RUN} --publish 5005:5005/udp ${DOCKER_IMAGE} /bin/sh
1313
clean:
1414
rm -rf bin obj

‎teachprogramming/static/language_reference/languages/csharp/csharp.cs

-9
Original file line numberDiff line numberDiff line change
@@ -525,13 +525,6 @@ void http_request_json() {
525525

526526
}
527527

528-
void network_udp_send() {
529-
// TODO https://stackoverflow.com/q/20038943/3356840 // VER: network_udp_send
530-
}
531-
void network_udp_recv() {
532-
// TODO https://stackoverflow.com/q/20038943/3356840 // VER: network_udp_recv
533-
}
534-
535528

536529
/*
537530
Named params
@@ -608,8 +601,6 @@ static int add(ref int a, int b) {
608601
sort();
609602
http_request();
610603
http_request_json();
611-
network_udp_send();
612-
network_udp_recv();
613604
}
614605
public static void Main(string[] args) {new Program();}
615606
}

‎teachprogramming/static/language_reference/languages/csharp/udp.cs

+22-15
Original file line numberDiff line numberDiff line change
@@ -4,31 +4,38 @@
44
// dotnet run --p StartupObject=UdpNamespace.Udp
55

66
using System;
7-
using System.Net;
8-
using System.Net.Sockets;
9-
using System.Text;
7+
using System.Net; // VER: network_udp_send,network_udp_recv
8+
using System.Net.Sockets; // VER: network_udp_send,network_udp_recv
9+
using System.Text; // VER: network_udp_send,network_udp_recv
1010

1111
namespace UdpNamespace {
1212
public class Udp {
1313
Udp() {
14-
Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
14+
Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); // VER: network_udp_send,network_udp_recv
1515

1616
// ping host.docker.internal -> 192.168.5.2
1717
//IPEndPoint addr = new IPEndPoint(IPAddress.Parse("192.168.5.2"), 64488);
18+
19+
IPEndPoint addr = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 5005); // VER: network_udp_send
20+
byte[] data = Encoding.ASCII.GetBytes("Hello World!"); // VER: network_udp_send
21+
sock.SendTo(data, addr); // VER: network_udp_send
22+
Console.WriteLine($"Bound to {sock.LocalEndPoint}"); // VER: network_udp_send
23+
1824
/*
19-
IPEndPoint addr = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 5005);
20-
byte[] data = Encoding.ASCII.GetBytes("Hello World!");
21-
sock.SendTo(data, addr);
22-
Console.WriteLine($"Bound to {sock.LocalEndPoint}");
25+
verified with
26+
docker exec -it e0cdcbd43842 /bin/sh
27+
nc -u 127.0.0.1 5005
28+
So it's something wrong with udp to the container
2329
*/
2430

25-
sock.Bind(new IPEndPoint(IPAddress.Any, 5005));
26-
byte[] buf = new byte[1024];
27-
while (true) {
28-
int bytesReceived = sock.Receive(buf);
29-
String msg = System.Text.Encoding.UTF8.GetString(buf, 0, bytesReceived);
30-
Console.WriteLine($"received bytes: {msg} from ???");
31-
}
31+
//sock.Bind(new IPEndPoint(IPAddress.Any, 5005)); // VER: network_udp_recv
32+
byte[] buf = new byte[1024]; // VER: network_udp_recv
33+
while (true) { // VER: network_udp_recv
34+
//Console.WriteLine($"Read {sock.LocalEndPoint}");
35+
int bytesReceived = sock.Receive(buf); // VER: network_udp_recv
36+
String msg = System.Text.Encoding.UTF8.GetString(buf, 0, bytesReceived); // VER: network_udp_recv
37+
Console.WriteLine($"received bytes: {msg} from ???"); // VER: network_udp_recv
38+
} // VER: network_udp_recv
3239
}
3340
public static void Main(string[] args) {new Udp();}
3441
}

‎teachprogramming/static/language_reference/languages/java/Java.java

-2
Original file line numberDiff line numberDiff line change
@@ -437,8 +437,6 @@ public Java() {
437437
define_map();
438438
define_set();
439439
function_with_param_function();
440-
network_udp_send();
441-
network_udp_recv();
442440
}
443441

444442
}

0 commit comments

Comments
 (0)
Please sign in to comment.