我正在查看SimplSockets库以构建使用套接字的应用程序。但是,在检查other questions on Stack Overflow,the author’s blog,the source和多次互联网搜索后,我找不到使用SimplSockets创建“hello world”项目的简单方法。
如何创建使用SimplSockets的“hello world”应用程序?
为防止“过于宽泛”的关闭,我想要做的就是发送和接收一些数据。一串,无论如何。我打开这个问题的原因是因为我不确定如何调用构造函数,因为它使用func<T>
T
是套接字。
答案 0 :(得分:11)
我对SimplSockets的问题是我没有正确理解如何使用构造函数中所需的委托。
下面是一个示例客户端/服务器,它回显您输入的数据。我不知道我应该做什么而不是Thread.Sleep()
,所以除非有人有更好的建议,否则我会留在那里。
private static void ConnectUsingSimpleSockets()
{
int maxClients = 50;
int maxPeers = 10;
var socketCreator = () => new System.Net.Sockets.Socket(SocketType.Stream, ProtocolType.Tcp);
using (var client = new SimplSockets.SimplSocket(socketCreator, 5000, 10, true))
{
client.MessageReceived += client_MessageReceived;
client.Error += client_Error;
var ss = new System.Net.IPEndPoint(BitConverter.ToInt32(IPAddress.Parse("127.0.0.1").GetAddressBytes(), 0), 4747);
if (client.Connect(ss))
{
Console.WriteLine("type something..");
while (true)
{
string resul = Console.ReadLine();
byte[] data = client.SendReceive(UTF8Encoding.UTF8.GetBytes("Client Send: " + resul + DateTime.Now));
if (data == UTF8Encoding.UTF8.GetBytes("END"))
{
break;
}
Console.WriteLine(UTF8Encoding.UTF8.GetString(data));
}
}
client.Close();
client.Listen(ss);
while (true)
{
Console.WriteLine("sleeping");
Thread.Sleep(7000);
}
client.Close();
}
}