【发布时间】:2016-12-22 08:40:57
【问题描述】:
因为我没有使用套接字的经验,也不知道如何制作,所以我有这个代码:
public void getGameInfo()
{
string content;
do
{
WebClient client = new WebClient();
client.DownloadFile(fileadress, filename);
client.Dispose();
StreamReader reader = new StreamReader(filename);
content = reader.ReadToEnd();
reader.Close();
} while (content == "");
File.Delete(filename);
string[] lines = content.Split(separator, StringSplitOptions.RemoveEmptyEntries);
mode = zeilen[0];
gameInfo = new string[line.Length-1];
Array.Copy(lines, 1, gameInfo, 0, lines.Length-1);
}
它使用 .txt 文件连接到 Apache 服务器并读取它。但是如果太多 Programms(三个)使用该代码,则会抛出 WebException。 那么有没有办法改进这一点,或者为此制作插座的指南?
编辑 1: 如果我想像这个函数一样写入文件怎么办?
public void setSpielInfo(int line, string input)
{
WebClient client = new WebClient();
string content;
do
{
client.DownloadFile(gameadress, filename);
StreamReader reader = new StreamReader(filename);
content = reader.ReadToEnd();
reader.Close();
} while (content == "");
string[] lines = content.Split(separator, StringSplitOptions.RemoveEmptyEntries);
lines[zeile+1] = input;
byte[] bytearray = Encoding.ASCII.GetBytes(string.Join(Environment.NewLine, lines)); // I've read that byte arrays are faster than string arrays
FileStream writer = new FileStream(filename, FileMode.Truncate);
writer.Write(bytearray, 0, bytearray.Length);
writer.Close();
client.UploadFile(ftpAdress, filename);
client.Dispose();
File.Delete(filename);
}
【问题讨论】:
-
我会推荐你codereview.stackexchange.com
标签: c# networking