使用C#从Streams中读取字符串

时间:2012-07-14 15:45:37

标签: c# .net protocols

现在我正在开发一个项目,需要我的应用程序(C#)连接到Minecraft服务器并获取信息。我知道如何使用Java而不是使用C#。我已经开始编写一个简单的数据包监听器,但我只是想在C#中找到一种方法来做这样的事情:

socket = new Socket();
socket.setSoTimeout(3000);
socket.setTcpNoDelay(true);
socket.setTrafficClass(18);
socket.connect(new InetSocketAddress(s1, j), 3000);
datainputstream = new DataInputStream(socket.getInputStream());
dataoutputstream = new DataOutputStream(socket.getOutputStream());
dataoutputstream.write(254);
String s4 = Packet.readString(datainputstream, 256);

我不理解的唯一部分是如何读取字符串。这是方法Packet.readString()

short word0 = par0DataInputStream.readShort();    
StringBuilder stringbuilder = new StringBuilder();

for (int i = 0; i < word0; i++)
{
    stringbuilder.append(par0DataInputStream.readChar());
}

return stringbuilder.toString();

我知道有一个GetStream方法,所以我可以使用StreamReader和StreamWriter来编写和读取字符串吗?

1 个答案:

答案 0 :(得分:2)

看看LibMinecraft为什么在为你做完所有繁重的工作之后呢?

使用此库,您可以连接并创建自己的服务器。