Skip to content

Commit

Permalink
Merge pull request #35 from mhelvacikoylu/v2
Browse files Browse the repository at this point in the history
2.3.10
  • Loading branch information
mhelvacikoylu authored Jan 13, 2020
2 parents b0e2a91 + 815e803 commit afb65ab
Show file tree
Hide file tree
Showing 30 changed files with 109 additions and 87 deletions.
2 changes: 1 addition & 1 deletion src/Samples/Sample.WebSocket.Client/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ static void ConnectWithTwino()
cx.MessageReceived += (c, m) => Console.WriteLine("# " + m);
cx.Connected += c => Console.WriteLine("Connected");
cx.Disconnected += c => Console.WriteLine("Disconnected");
cx.Connect("ws://127.0.0.1:84");
cx.Connect("ws://127.0.0.1:83");
while (true)
{
string s = Console.ReadLine();
Expand Down
33 changes: 24 additions & 9 deletions src/Samples/Sample.WebSocket.Server/Program.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
using Twino.Server;
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using Twino.Core;
using Twino.Core.Protocols;
Expand All @@ -12,12 +14,14 @@ namespace Sample.WebSocket.Server
/// </summary>
public class ServerWsHandler : IProtocolConnectionHandler<WsServerSocket, WebSocketMessage>
{
private int _online;

public int Online => _online;

public async Task<WsServerSocket> Connected(ITwinoServer server, IConnectionInfo connection, ConnectionData data)
{
WsServerSocket socket = new WsServerSocket(server, connection);
Program.ServerClient = socket;
Console.WriteLine("> Connected");

Interlocked.Increment(ref _online);
return await Task.FromResult(socket);
}

Expand All @@ -34,7 +38,7 @@ public async Task Received(ITwinoServer server, IConnectionInfo info, WsServerSo

public async Task Disconnected(ITwinoServer server, WsServerSocket client)
{
Console.WriteLine("> Disconnected");
Interlocked.Decrement(ref _online);
await Task.CompletedTask;
}
}
Expand All @@ -45,15 +49,26 @@ class Program

static void Main(string[] args)
{
TwinoServer server = new TwinoServer();
server.UseWebSockets(new ServerWsHandler());
ServerWsHandler handler = new ServerWsHandler();
TwinoServer server = new TwinoServer(new ServerOptions
{
PingInterval = 8,
Hosts = new List<HostOptions>
{
new HostOptions
{
Port = 83
}
}
});
server.UseWebSockets(handler);

server.Start(82);
server.Start();

while (true)
{
string msg = Console.ReadLine();
ServerClient.Send(msg);
Console.ReadLine();
Console.WriteLine(handler.Online + " Online");
}
}
}
Expand Down
6 changes: 3 additions & 3 deletions src/Twino.Client.Connectors/Twino.Client.Connectors.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
<Product>Twino.Client.Connectors</Product>
<Description>Connectors for twino WebSocket and TMQ protocols</Description>
<PackageTags>twino,server,client,connector,websocket,tmq</PackageTags>
<AssemblyVersion>2.3.6</AssemblyVersion>
<FileVersion>2.3.6</FileVersion>
<PackageVersion>2.3.6</PackageVersion>
<AssemblyVersion>2.3.10</AssemblyVersion>
<FileVersion>2.3.10</FileVersion>
<PackageVersion>2.3.10</PackageVersion>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>Mehmet Helvacıköylü</Authors>
<PackageProjectUrl>https://github.com/mhelvacikoylu/twino</PackageProjectUrl>
Expand Down
6 changes: 3 additions & 3 deletions src/Twino.Client.TMQ/Twino.Client.TMQ.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
<Product>Twino.Client.TMQ</Product>
<Description>Twino Messaging Queue Client to connect all TMQ Servers</Description>
<PackageTags>twino,tmq,client,mq,messaging,queue</PackageTags>
<AssemblyVersion>2.3.6</AssemblyVersion>
<FileVersion>2.3.6</FileVersion>
<PackageVersion>2.3.6</PackageVersion>
<AssemblyVersion>2.3.10</AssemblyVersion>
<FileVersion>2.3.10</FileVersion>
<PackageVersion>2.3.10</PackageVersion>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>Mehmet Helvacıköylü</Authors>
<PackageProjectUrl>https://github.com/mhelvacikoylu/twino</PackageProjectUrl>
Expand Down
6 changes: 3 additions & 3 deletions src/Twino.Client.WebSocket/Twino.Client.WebSocket.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
<Product>Twino.Client.WebSocket</Product>
<Description>Twino WebSocket Client to connect all WebSocket servers</Description>
<PackageTags>twino,websocket,client</PackageTags>
<AssemblyVersion>2.3.6</AssemblyVersion>
<FileVersion>2.3.6</FileVersion>
<PackageVersion>2.3.6</PackageVersion>
<AssemblyVersion>2.3.10</AssemblyVersion>
<FileVersion>2.3.10</FileVersion>
<PackageVersion>2.3.10</PackageVersion>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>Mehmet Helvacıköylü</Authors>
<PackageProjectUrl>https://github.com/mhelvacikoylu/twino</PackageProjectUrl>
Expand Down
6 changes: 3 additions & 3 deletions src/Twino.Core/Twino.Core.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
<Product>Twino.Core</Product>
<Description>Twino Core library for all twino servers, protocols and services</Description>
<PackageTags>twino,server,core</PackageTags>
<AssemblyVersion>2.3.6</AssemblyVersion>
<FileVersion>2.3.6</FileVersion>
<PackageVersion>2.3.6</PackageVersion>
<AssemblyVersion>2.3.10</AssemblyVersion>
<FileVersion>2.3.10</FileVersion>
<PackageVersion>2.3.10</PackageVersion>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>Mehmet Helvacıköylü</Authors>
<PackageProjectUrl>https://github.com/mhelvacikoylu/twino</PackageProjectUrl>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
[assembly: System.Reflection.AssemblyCompanyAttribute("Mehmet Helvacıköylü")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
[assembly: System.Reflection.AssemblyDescriptionAttribute("Twino Core library for all twino servers, protocols and services")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("2.3.6")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("2.3.10")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("Twino.Core")]
[assembly: System.Reflection.AssemblyTitleAttribute("Twino.Core")]
[assembly: System.Reflection.AssemblyVersionAttribute("2.3.6")]
[assembly: System.Reflection.AssemblyVersionAttribute("2.3.10")]
6 changes: 3 additions & 3 deletions src/Twino.Extensions.Data/Twino.Extensions.Data.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
<Product>Twino.Extensions.Data</Product>
<Description>Entity Framework Core Data Context extension for Twino IOC</Description>
<PackageTags>twino,entity,framework,data,context,factory,ioc,service</PackageTags>
<AssemblyVersion>2.3.6</AssemblyVersion>
<FileVersion>2.3.6</FileVersion>
<PackageVersion>2.3.6</PackageVersion>
<AssemblyVersion>2.3.10</AssemblyVersion>
<FileVersion>2.3.10</FileVersion>
<PackageVersion>2.3.10</PackageVersion>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>Mehmet Helvacıköylü</Authors>
<PackageProjectUrl>https://github.com/mhelvacikoylu/twino</PackageProjectUrl>
Expand Down
6 changes: 3 additions & 3 deletions src/Twino.Extensions.Http/Twino.Extensions.Http.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
<Product>Twino.Extensions.Http</Product>
<Description>HttpClient Factory extension for Twino IOC</Description>
<PackageTags>twino,http,client,factory,ioc,dependency,injection,service</PackageTags>
<AssemblyVersion>2.3.6</AssemblyVersion>
<FileVersion>2.3.6</FileVersion>
<PackageVersion>2.3.6</PackageVersion>
<AssemblyVersion>2.3.10</AssemblyVersion>
<FileVersion>2.3.10</FileVersion>
<PackageVersion>2.3.10</PackageVersion>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>Mehmet Helvacıköylü</Authors>
<PackageProjectUrl>https://github.com/mhelvacikoylu/twino</PackageProjectUrl>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
[assembly: System.Reflection.AssemblyCompanyAttribute("Mehmet Helvacıköylü")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
[assembly: System.Reflection.AssemblyDescriptionAttribute("HttpClient Factory extension for Twino IOC")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("2.3.6")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("2.3.10")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("Twino.Extensions.Http")]
[assembly: System.Reflection.AssemblyTitleAttribute("Twino.Extensions.Http")]
[assembly: System.Reflection.AssemblyVersionAttribute("2.3.6")]
[assembly: System.Reflection.AssemblyVersionAttribute("2.3.10")]
6 changes: 3 additions & 3 deletions src/Twino.Ioc/Twino.Ioc.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
<Product>Twino.Ioc</Product>
<Description>Twino IOC Service containers and scopes</Description>
<PackageTags>twino,ioc,dependency,injection,service,container,scope</PackageTags>
<AssemblyVersion>2.3.6</AssemblyVersion>
<FileVersion>2.3.6</FileVersion>
<PackageVersion>2.3.6</PackageVersion>
<AssemblyVersion>2.3.10</AssemblyVersion>
<FileVersion>2.3.10</FileVersion>
<PackageVersion>2.3.10</PackageVersion>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>Mehmet Helvacıköylü</Authors>
<PackageProjectUrl>https://github.com/mhelvacikoylu/twino</PackageProjectUrl>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
[assembly: System.Reflection.AssemblyCompanyAttribute("Mehmet Helvacıköylü")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
[assembly: System.Reflection.AssemblyDescriptionAttribute("Twino IOC Service containers and scopes")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("2.3.6")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("2.3.10")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("Twino.Ioc")]
[assembly: System.Reflection.AssemblyTitleAttribute("Twino.Ioc")]
[assembly: System.Reflection.AssemblyVersionAttribute("2.3.6")]
[assembly: System.Reflection.AssemblyVersionAttribute("2.3.10")]
6 changes: 3 additions & 3 deletions src/Twino.MQ/Twino.MQ.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
<Product>Twino.MQ</Product>
<Description>Messaging Queue Server library with TMQ Protocol via Twino Server</Description>
<PackageTags>twino,server,tmq,messaging,queue,mq</PackageTags>
<AssemblyVersion>2.3.6</AssemblyVersion>
<FileVersion>2.3.6</FileVersion>
<PackageVersion>2.3.6</PackageVersion>
<AssemblyVersion>2.3.10</AssemblyVersion>
<FileVersion>2.3.10</FileVersion>
<PackageVersion>2.3.10</PackageVersion>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>Mehmet Helvacıköylü</Authors>
<PackageProjectUrl>https://github.com/mhelvacikoylu/twino</PackageProjectUrl>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
[assembly: System.Reflection.AssemblyCompanyAttribute("Mehmet Helvacıköylü")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
[assembly: System.Reflection.AssemblyDescriptionAttribute("Messaging Queue Server library with TMQ Protocol via Twino Server")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("2.3.6")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("2.3.10")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("Twino.MQ")]
[assembly: System.Reflection.AssemblyTitleAttribute("Twino.MQ")]
[assembly: System.Reflection.AssemblyVersionAttribute("2.3.6")]
[assembly: System.Reflection.AssemblyVersionAttribute("2.3.10")]
6 changes: 3 additions & 3 deletions src/Twino.Mvc.Auth.Jwt/Twino.Mvc.Auth.Jwt.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
<Product>Twino.Mvc.Auth.Jwt</Product>
<Description>JSON Web Token Authentication and Authorization library for Twino MVC</Description>
<PackageTags>twino,http,mvc,jwt,token,authentication,authorization</PackageTags>
<AssemblyVersion>2.3.6</AssemblyVersion>
<FileVersion>2.3.6</FileVersion>
<PackageVersion>2.3.6</PackageVersion>
<AssemblyVersion>2.3.10</AssemblyVersion>
<FileVersion>2.3.10</FileVersion>
<PackageVersion>2.3.10</PackageVersion>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>Mehmet Helvacıköylü</Authors>
<PackageProjectUrl>https://github.com/mhelvacikoylu/twino</PackageProjectUrl>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
[assembly: System.Reflection.AssemblyCompanyAttribute("Mehmet Helvacıköylü")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
[assembly: System.Reflection.AssemblyDescriptionAttribute("JSON Web Token Authentication and Authorization library for Twino MVC")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("2.3.6")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("2.3.10")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("Twino.Mvc.Auth.Jwt")]
[assembly: System.Reflection.AssemblyTitleAttribute("Twino.Mvc.Auth.Jwt")]
[assembly: System.Reflection.AssemblyVersionAttribute("2.3.6")]
[assembly: System.Reflection.AssemblyVersionAttribute("2.3.10")]
6 changes: 3 additions & 3 deletions src/Twino.Mvc/Twino.Mvc.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
<Product>Twino.Mvc</Product>
<Description>MVC Library for Twino Http Server</Description>
<PackageTags>twino,http,server,mvc</PackageTags>
<AssemblyVersion>2.3.6</AssemblyVersion>
<FileVersion>2.3.6</FileVersion>
<PackageVersion>2.3.6</PackageVersion>
<AssemblyVersion>2.3.10</AssemblyVersion>
<FileVersion>2.3.10</FileVersion>
<PackageVersion>2.3.10</PackageVersion>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>Mehmet Helvacıköylü</Authors>
<PackageProjectUrl>https://github.com/mhelvacikoylu/twino</PackageProjectUrl>
Expand Down
6 changes: 3 additions & 3 deletions src/Twino.Protocols.Http/Twino.Protocols.Http.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
<Product>Twino.Protocols.Http</Product>
<Description>Twino Http Protocol library and server extension for Twino Server</Description>
<PackageTags>twino,tcp,server,http,protocol</PackageTags>
<AssemblyVersion>2.3.6</AssemblyVersion>
<FileVersion>2.3.6</FileVersion>
<PackageVersion>2.3.6</PackageVersion>
<AssemblyVersion>2.3.10</AssemblyVersion>
<FileVersion>2.3.10</FileVersion>
<PackageVersion>2.3.10</PackageVersion>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>Mehmet Helvacıköylü</Authors>
<PackageProjectUrl>https://github.com/mhelvacikoylu/twino</PackageProjectUrl>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
[assembly: System.Reflection.AssemblyCompanyAttribute("Mehmet Helvacıköylü")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
[assembly: System.Reflection.AssemblyDescriptionAttribute("Twino Http Protocol library and server extension for Twino Server")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("2.3.6")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("2.3.10")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("Twino.Protocols.Http")]
[assembly: System.Reflection.AssemblyTitleAttribute("Twino.Protocols.Http")]
[assembly: System.Reflection.AssemblyVersionAttribute("2.3.6")]
[assembly: System.Reflection.AssemblyVersionAttribute("2.3.10")]
6 changes: 3 additions & 3 deletions src/Twino.Protocols.TMQ/Twino.Protocols.TMQ.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
<Product>Twino.Protocols.TMQ</Product>
<Description>Twino Messaging Queue (TMQ) Protocol library and server extension for Twino Server</Description>
<PackageTags>twino,tcp,server,http,messaging,queue,tmq,mq,protocol</PackageTags>
<AssemblyVersion>2.3.6</AssemblyVersion>
<FileVersion>2.3.6</FileVersion>
<PackageVersion>2.3.6</PackageVersion>
<AssemblyVersion>2.3.10</AssemblyVersion>
<FileVersion>2.3.10</FileVersion>
<PackageVersion>2.3.10</PackageVersion>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>Mehmet Helvacıköylü</Authors>
<PackageProjectUrl>https://github.com/mhelvacikoylu/twino</PackageProjectUrl>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
<Product>Twino.Protocols.WebSocket</Product>
<Description>WebSocket Protocol library and server extension for Twino Server</Description>
<PackageTags>twino,tcp,server,http,websocket,protocol,ws</PackageTags>
<AssemblyVersion>2.3.6</AssemblyVersion>
<FileVersion>2.3.6</FileVersion>
<PackageVersion>2.3.6</PackageVersion>
<AssemblyVersion>2.3.10</AssemblyVersion>
<FileVersion>2.3.10</FileVersion>
<PackageVersion>2.3.10</PackageVersion>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>Mehmet Helvacıköylü</Authors>
<PackageProjectUrl>https://github.com/mhelvacikoylu/twino</PackageProjectUrl>
Expand Down
5 changes: 2 additions & 3 deletions src/Twino.Protocols.WebSocket/TwinoWebSocketProtocol.cs
Original file line number Diff line number Diff line change
Expand Up @@ -107,13 +107,12 @@ public async Task HandleConnection(IConnectionInfo info, ProtocolHandshakeResult
while (info.Socket != null && info.Socket.IsConnected)
{
WebSocketMessage message = await reader.Read(stream);

if (message == null)
{
info.Close();
return;
}

await ProcessMessage(info, handshakeResult.Socket, message);
}
}
Expand Down Expand Up @@ -171,7 +170,7 @@ private async Task ProcessMessage(IConnectionInfo info, SocketBase socket, WebSo
case SocketOpCode.Terminate:
info.Close();
break;

//if client sends a ping message, response with pong
case SocketOpCode.Ping:
await socket.SendAsync(PredefinedMessages.PONG);
Expand Down
17 changes: 13 additions & 4 deletions src/Twino.Protocols.WebSocket/WebSocketReader.cs
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,17 @@ public async Task<WebSocketMessage> Read(Stream stream)

message.OpCode = (SocketOpCode) code;

switch (message.OpCode)
{
case SocketOpCode.Continue:
case SocketOpCode.Terminate:
return null;

case SocketOpCode.Ping:
case SocketOpCode.Pong:
return message;
}

byte maskbyte = frames[1];
if (maskbyte > 127)
{
Expand Down Expand Up @@ -136,8 +147,7 @@ private async Task<bool> ReadContent(Stream stream, WebSocketMessage message, lo
_buffer[i] = (byte) (_buffer[i] ^ message.Mask[i % 4]);

await message.Content.WriteAsync(_buffer, 0, read);
}
while (total < length);
} while (total < length);

return true;
}
Expand All @@ -156,8 +166,7 @@ private static async Task<bool> ReadCertainBytes(Stream stream, byte[] buffer, i
return false;

total += read;
}
while (total < length);
} while (total < length);

return true;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
[assembly: System.Reflection.AssemblyCompanyAttribute("Mehmet Helvacıköylü")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
[assembly: System.Reflection.AssemblyDescriptionAttribute("WebSocket Protocol library and server extension for Twino Server")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("2.3.6")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("2.3.10")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("Twino.Protocols.WebSocket")]
[assembly: System.Reflection.AssemblyTitleAttribute("Twino.Protocols.WebSocket")]
[assembly: System.Reflection.AssemblyVersionAttribute("2.3.6")]
[assembly: System.Reflection.AssemblyVersionAttribute("2.3.10")]
Loading

0 comments on commit afb65ab

Please sign in to comment.