【发布时间】:2022-01-03 10:48:15
【问题描述】:
客户:
while (true)
{
input = Console.ReadLine();
if (input == "exit")
break;
server.SendTo(Encoding.ASCII.GetBytes(input), Remote);
data = new byte[1024];
recv = server.ReceiveFrom(data, ref Remote);
stringData = Encoding.ASCII.GetString(data, 0, recv);
Console.WriteLine("{0}! là: {1}", input, stringData);
}
Console.WriteLine("Dang dong client");
server.Close();
服务器:
while (true)
{
int giaithualap(int n)
{
int giai_thua = 1;
for (int i = 1; i <= n; i++)
giai_thua *= i;
return giai_thua;
}
data = new byte[1024];
recv = newsock.ReceiveFrom(data, ref Remote);
string a = Encoding.ASCII.GetString(data, 0, recv);
Console.WriteLine("Nhan tu : {0} so {1} ", Remote.ToString(), a);
int tong = giaithualap(int.Parse(a));
Console.WriteLine("{0} so {1} giai thua la {2}", Remote.ToString(), a, tong);
data = Encoding.ASCII.GetBytes( tong.ToString());
newsock.SendTo(data, 0, recv, SocketFlags.None, Remote);
}
如果您输入一个具有 1 位阶乘的数字,则可以,但具有 2 位或更高位阶乘的数字将只显示该数字的第一位。
【问题讨论】: