📄 echoclientsocket.cs
字号:
using System;
using System.Text;
using System.Net;
using System.Net.Sockets;
class EchoClientSocket
{
public static void Main(string[] args)
{
//从命令行读取Echo服务器的IP地址并产生一个IPAddress对象
IPAddress HostAddr = IPAddress.Parse(args[0]);
//根据IP地址及通信端口号7产生一IPEndPoint对象
IPEndPoint host = new IPEndPoint(HostAddr,7);
//产生Socket对象
Socket s = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
try
{
//连接到所指定的服务器
s.Connect(host);
}
catch(SocketException se)
{
//若无法创建连接时显示出错误信息并退出程序
Console.WriteLine("Could not establish connection to echo server!!!");
return;
}
//显示出成功连接的信息
Console.WriteLine("Successfully establish connection to echo server!!!");
String tmpstr = "";
while(true)
{
tmpstr = Console.ReadLine();
//若拥护输入exit则退出循环
if (tmpstr.Equals("exit"))
break;
//将用户输入的字符串转换为Byte数组以便发送
Byte[] SendBytes = Encoding.ASCII.GetBytes(tmpstr.ToCharArray());
try
{
//将数据送给Echo服务器
s.Send(SendBytes,SendBytes.Length,0);
}
catch(SocketException se)
{
Console.WriteLine("Data send error!!");
}
int bytes = 0;
Byte[] RecvBytes = new Byte[256];
String RecvString = "";
try
{
//接收来自Echo服务器的响应并存放在RecvBytes数组中
bytes = s.Receive(RecvBytes,RecvBytes.Length,0);
}
catch(SocketException se)
{
Console.WriteLine("Data receive error!!");
}
//将Byte类型的数组转换为字符串
RecvString = Encoding.ASCII.GetString(RecvBytes,0,bytes);
//显示出所接收的数据
Console.WriteLine(RecvString);
}
//关闭与Echo服务器的连接
s.Close();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -