![](/img/trans.png)
[英]Specified argument was out of the range of valid values. Parameter name: value
[英]Specified argument was out of the range of valid values. Parameter name: size
我對任何類型的編程網絡都非常陌生。 嘗試創建簡單的套接字服務器程序時,出現以下錯誤:
指定的參數超出有效值范圍。
參數名稱:大小
這是我的服務器代碼:
class Program
{
private static IPAddress localServerIP = IPAddress.Parse("10.114.130.223");
private static TcpListener serverSocket;
private static TcpClient clientSocket;
private static int requestCount = 0;
static void Main(string[] args)
{
serverSocket = new TcpListener(localServerIP, 8888);
clientSocket = default(TcpClient);
serverSocket.Start();
Console.WriteLine(" >> Server Started\n");
clientSocket = serverSocket.AcceptTcpClient();
Console.WriteLine(" >> Accept connection from client");
requestCount = 0;
while (true)
{
try
{
requestCount++;
NetworkStream networkStream = clientSocket.GetStream();
byte[] dataBuffer = new byte[10025];
networkStream.Read(dataBuffer, 0, (int)clientSocket.ReceiveBufferSize);
string dataFromClient = Encoding.ASCII.GetString(dataBuffer);
dataFromClient = dataFromClient.Substring(0, dataFromClient.IndexOf("$"));
Console.WriteLine(" >> Data from client - " + dataFromClient);
string serverResponse = "Last Message from client" + dataFromClient;
byte[] sendBytes = Encoding.ASCII.GetBytes(serverResponse);
networkStream.Write(sendBytes, 0, sendBytes.Length);
networkStream.Flush();
Console.WriteLine(" >> " + serverResponse);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
}
這是我的客戶
public partial class Form1 : Form
{
private TcpClient clientSocket;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
msg("Client Started");
clientSocket = new TcpClient();
try
{
clientSocket.Connect(IPAddress.Parse("10.114.130.223"), 8888);
}
catch
{
textBox1.AppendText(" >> Server unavailable\n");
}
statusLabel.Text = "Client Socket Program - Server Connected";
}
private void sendBtn_Click(object sender, EventArgs e)
{
NetworkStream serverStream = clientSocket.GetStream();
byte[] outStream = Encoding.ASCII.GetBytes(textBox2.Text + "$");
serverStream.Write(outStream, 0, outStream.Length);
serverStream.Flush();
byte[] inStream = new byte[10025];
serverStream.Read(inStream, 0, (int)clientSocket.ReceiveBufferSize);
string returnData = Encoding.ASCII.GetString(inStream);
msg(returnData);
textBox2.Text = "";
textBox2.Focus();
}
public void msg(string mesg)
{
textBox1.Text = textBox1.Text + Environment.NewLine + " >> " + mesg;
}
}
任何幫助或指導或解釋將不勝感激。
是來自
networkStream.Read(dataBuffer, 0, (int)clientSocket.ReceiveBufferSize);
或來自
dataFromClient = dataFromClient.Substring(0, dataFromClient.IndexOf("$"));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.