socket receive循环读取send来的数据
//send 图片流
public void SendBinary(byte[] b)
{
try
{
socket.Send(b, b.Length, 0);
}
catch (Exception)//如果有异常则退出
{
socket.Close();
}
}
//receive 图片流
public byte[] ReceiveBinary()
{
//Byte[] buffer = new Byte[socket.Available];//一个缓存区
////循环从缓冲区读取数据
//do
//{
// socket.Receive(buffer);
//}
//while (socket.Available > 0);
//return buffer;
//循环从缓冲区读取数据
string receiveData = "";
int recvCount;//每次读取的数据量
int availCount = 0;//获取从网络可以读取的数据量
Byte[] buffer = new Byte[8192];//一个8×1024bits的缓存区
do
{
availCount = socket.Available;
if (availCount < buffer.Length)
{
recvCount = socket.Receive(buffer, availCount, SocketFlags.None);
}
else
{
recvCount = socket.Receive(buffer, buffer.Length, SocketFlags.None);
}
availCount = socket.Available;
if (recvCount > 0)
{
receiveData += Encoding.UTF8.GetString(buffer, 0, recvCount);
}
}
while (availCount > 0);
byte[] b = System.Text.Encoding.UTF8.GetBytes(receiveData);
return b;
}
public void SendBinary(byte[] b)
{
try
{
socket.Send(b, b.Length, 0);
}
catch (Exception)//如果有异常则退出
{
socket.Close();
}
}
//receive 图片流
public byte[] ReceiveBinary()
{
//Byte[] buffer = new Byte[socket.Available];//一个缓存区
////循环从缓冲区读取数据
//do
//{
// socket.Receive(buffer);
//}
//while (socket.Available > 0);
//return buffer;
//循环从缓冲区读取数据
string receiveData = "";
int recvCount;//每次读取的数据量
int availCount = 0;//获取从网络可以读取的数据量
Byte[] buffer = new Byte[8192];//一个8×1024bits的缓存区
do
{
availCount = socket.Available;
if (availCount < buffer.Length)
{
recvCount = socket.Receive(buffer, availCount, SocketFlags.None);
}
else
{
recvCount = socket.Receive(buffer, buffer.Length, SocketFlags.None);
}
availCount = socket.Available;
if (recvCount > 0)
{
receiveData += Encoding.UTF8.GetString(buffer, 0, recvCount);
}
}
while (availCount > 0);
byte[] b = System.Text.Encoding.UTF8.GetBytes(receiveData);
return b;
}
...全文
相关推荐
python socket通信编程实现文件上传代码实例
主要介绍了python socket通信编程实现文件上传代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
C#实现Socket通信的解决方法
主要介绍了C#实现Socket通信的解决方法,需要的朋友可以参考下
Erlang中的socket编程简单例子
主要介绍了Erlang中的socket编程简单例子,本文给出了TCP服务器echo示例、Tcp 的echo客户端示例、UDP server示例、UDP client 示例,需要的朋友可以参考下
C# Socket文件上传VS2013
利用socket进行上传文件,用于cs框架,支持目录下所有文件上传,选择的文件进行上传后期更新
TCP-SOCKET.zip_CSharp socket tcp_TCP socket_socket_socket server
C#采用TCP协议进行socket通信,有server端跟客户端的例子以供学习


