using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.Net.Sockets;
namespace socket_test
{
public class Client
{
private Socket _client; //跟服务器连接的socket
private bool _connected; //socket连接状态,表示断开或已经连接两种情况
//连接服务器
public void ConnectServer(string ip, int port)
{
//创建一个Socket
_client = new Socket(
AddressFamily.InterNetwork,
SocketType.Stream,
ProtocolType.Tcp);
IPEndPoint ep = new IPEndPoint(IPAddress.Parse(ip),port);//把ip和端口转化为IPEndPoint实例
_client.Connect(ep);
_connected = true;
}
//返回连接状态
public bool Connected
{
get { return _connected; }
}
//关闭连接
public void CloseConnection()
{
if (_connected)
{
_client.Close();
_connected = false;
}
}
//发送消息
public void SendMessage(string message)
{
byte[] buffer = Encoding.ASCII.GetBytes(message);
_client.Send(buffer,buffer.Length,0);
}
/// <summary>
/// //从服务器端接受返回信息
/// </summary>
/// <returns></returns>
public string ReceiveBytes(string recvStr)
{
byte[] recvBytes = new byte[1024];
int bytes;
bytes = _client.Receive(recvBytes, recvBytes.Length, 0);
recvStr += Encoding.ASCII.GetString(recvBytes, 0, bytes);
return recvStr;
}
}
}
using System;
using System.Text;
using System.IO;
using System.Net;
using System.Net.Sockets;
namespace socket_test
{
class Class1
{
static void Main()
{
try
{
int port = 80;
string host = "192.168.1.38";
Client cc=new Client();
Console.WriteLine("Conneting...");
cc.ConnectServer(host, port);//连接到服务器
string sendStr = "hello!This is a socket test";
Console.WriteLine("Send Message");
cc.SendMessage(sendStr);//发送测试信息
string recvStr = "";
recvStr = cc.ReceiveBytes(recvStr);
Console.WriteLine("Client Get Message:{0}", recvStr);//显示服务器返回信息
cc.CloseConnection();
}
catch (ArgumentNullException e)
{
Console.WriteLine("ArgumentNullException: {0}", e);
}
catch (SocketException e)
{
Console.WriteLine("SocketException: {0}", e);
}
Console.WriteLine("Press Enter to Exit");
Console.ReadLine();
}
}
}
我看流年如过客,流年看我似行人.有些人,有些事情,一转身就是一辈子了,从此各不相干,各有各的生活,或许就是这样吧,
所以,又能怎么样?不如沉默!