annotate Test/RewritingTest/SocketListenerTask.cs @ 23:46cfeb0609c5

Add TcpConnections
author riono <e165729@ie.u-ryukyu.ac.jp>
date Tue, 15 Dec 2020 22:11:40 +0900
parents 970c7f587126
children 45ff08d59fda
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
22
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 using System;
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 using System.Net;
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 using System.Net.Sockets;
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 using System.Threading;
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 using System.Threading.Tasks;
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 public class SocketListenerTask {
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 Socket socket;
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 public SocketListenerTask (Socket socket) {
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 this.socket = socket;
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 }
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 public void Run () {
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 // Thread thread = new Thread (new ThreadStart (MethodThread));
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 // thread.Start();
23
46cfeb0609c5 Add TcpConnections
riono <e165729@ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
18 Task task = Task.Run(() => MethodThread());
22
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 }
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 private void MethodThread() {
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 Socket listener = socket.Accept ();
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 while (true) {
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 Console.WriteLine ("Accept:" + listener.LocalEndPoint);
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 Thread.Sleep(1000);
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 }
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 }
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
28
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 public static void Main () {
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 IPHostEntry host = Dns.GetHostEntry ("localhost");
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 IPAddress ipAddress = host.AddressList[0];
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 IPEndPoint localEndPoint = new IPEndPoint (ipAddress, 11000);
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
33
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 try {
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 Socket ss = new Socket (ipAddress.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 ss.Bind(localEndPoint);
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 ss.Listen(10);
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
38
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 // while (true) {
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 // Console.WriteLine("Accept:" + listener.LocalEndPoint);
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 // }
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
42
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 SocketListenerThread newThread = new SocketListenerThread (ss);
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 newThread.Run ();
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
45
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 // Console.WriteLine("fin");
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 // listener.Shutdown(SocketShutdown.Both);
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 // listener.Close();
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 } catch (Exception e) {
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 Console.WriteLine (e.ToString ());
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
51 }
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
52
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
53 }
970c7f587126 update AcceptThread
riono <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
54 }