You should not create a TextArgs and send it to the server. You can send whatever you want to the server and if you do not have custom parameters on your serverside method (action method) XSockets will create an ITextArgs for you since you have not specified anything. See: http://xsockets.net/docs/c-server-api#custom-controllers
Your code should be...
//Client
public void SendMessageToTestController(Guid id, string mess)
{
poolClient.Send(new { clientId = id, message = mess }, "SendEventMessageToClient");
}
//Action method on Controller
public void SendEventMessageToClient(Guid clientId, string message)
{
this.SendTo(p => p.ClientGuid == clientId, message, "event");
}
Since serialization is faster when having objects instead of multiple parameters I would go for a simple model containing clientid and message and have that as a single parameter on the aciton method instead.