CTcpClient类的源文件

CTcpClient类的源文件

 

转载:

http://blog.chiwudaili.com/detail.aspx?id=6b46e08d4c482f304e976a1081e40352

 

public class CTcpClient

{

private Socket ClientSocket { get; set; }

public CTcpClient()

{

ClientSocket = null;

}

public CTcpClient(Socket socket)

{

ClientSocket = socket;

}

public bool Start(int port = 8080, string ip = "127.0.0.1", int timeoutInSec = 10)

{

try

{

IPAddress ipA = IPAddress.Parse(ip);

ClientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

ClientSocket.SendTimeout = timeoutInSec * 1000;

ClientSocket.ReceiveTimeout = timeoutInSec * 1000;

ClientSocket.Connect(new IPEndPoint(ipA, port));

}

catch (Exception)

{

return false;

}

 

return true;

}

public int Receive(byte[] buffer, int offset, int size)

{

SocketError socketError = SocketError.Success;

 

int rel = ClientSocket.Receive(buffer, offset, size, SocketFlags.None, out socketError);

if (socketError == SocketError.Success)

{

return rel; 

}

return -1;

}

public int Send(byte[] buffer, int offset, int size)

{

SocketError socketError = SocketError.Success;

int rel = ClientSocket.Send(buffer, offset, size, SocketFlags.None, out socketError);

if (socketError == SocketError.Success)

{

return rel;

}

return -1;

}

public void Close()

{

if (ClientSocket!=null)

{

try

{

ClientSocket.Disconnect(false);

}

catch (Exception e)

{

}

try

{

ClientSocket.Dispose();

}

catch (Exception e)

{

}

try

{

ClientSocket.Close();

}

catch (Exception e)

{

}

ClientSocket = null;

}

}

}

说明: 1此程序由ecz00程序优化而来 地址 http://download.csdn.net/download/ecz00/9403630 因此程序可以说是网上唯一的tcpclient使用的中文案例,提供了我思路,在此感谢 ;为什么用这个插件,vb自带的插件winsock 这么有用的插件 居然不是微软自带的插件, 最要命的是 直接注册ocx控件 win7 win10上可能因为序列号无法注册,那么vb下如何开发ip客户端,变得很麻烦,尝试过APi方法的,但是过于复杂,程序量太大,比较麻烦,因此用 此方案比较可行,在原版的基础上花了5天时间摸索和优化, 此版本使用方法 1 把vbRichClient5.dll放进C:\Windows\SysWOW64 (64位系统) 2 在vb6中点击 工程->引用 把上面的dll引用进来就可以额,不需要注册 3:使用sscom5.12.1 或其他tcp调试软件软件启动tcpserver 地址是127,0,0,1 5676 4:直接运行本软件即可使用。点击连接,显示成功,说明连接成功,可以相互发送数据了 服务端的程序在原版上未做修改,请自行优化 此软件改进了原版 1:无法显示连接状态和错误信息 2:只能发送不能接收 3:使用主机名的连接方式,无法直接使用,一开始 4:无法显示byte值 5:界面修改 6:连接的时候,不断开以前的连接,造成重复连接 提示 vbRichClient5的手册找遍了都找不到,估计作者都没写,更别想有中文版了,所以只能 在vb6中点击视图-》对象窗口,可显示vbRichClient5.dll 所有的和方法 QQ175891641 2018-2-15优化
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值