msdn里讲socket receive方法时有如下代码:
C#]
// Displays sending with a connected socket
// using the overload that takes a buffer.
public static int SendReceiveTest1(Socket server)
{
byte[] msg = Encoding.UTF8.GetBytes("This is a test");
byte[] bytes = new byte[256];
try
{
// Blocks until send returns.
int i = server.Send(msg); //请注意,先发送
Console.WriteLine("Sent {0} bytes.", i);
// Get reply from the server.
i = server.Receive(bytes); //请注意,又接收
Console.WriteLine(Encoding.UTF8.GetString(bytes));
}
catch (SocketException e)
{
Console.WriteLine("{0} Error code: {1}.", e.Message, e.ErrorCode);
return (e.ErrorCode);
}
return 0;
}请分析这样在一个socket连接里连续发送和接收,会有问题吗?
我碰到的问题是:我在socket客户端,也是如上一样,先发送信息给服务器端,然后接收服务器端回执信息。调试时,我发现服务器端可以接收到信息,也发送了回执信息,可是在我的客户端程序里,一加上receive相关的代码,程序就死掉了。把receive相关代码去掉,就ok了。不知...
C#]
// Displays sending with a connected socket
// using the overload that takes a buffer.
public static int SendReceiveTest1(Socket server)
{
byte[] msg = Encoding.UTF8.GetBytes("This is a test");
byte[] bytes = new byte[256];
try
{
// Blocks until send returns.
int i = server.Send(msg); //请注意,先发送
Console.WriteLine("Sent {0} bytes.", i);
// Get reply from the server.
i = server.Receive(bytes); //请注意,又接收
Console.WriteLine(Encoding.UTF8.GetString(bytes));
}
catch (SocketException e)
{
Console.WriteLine("{0} Error code: {1}.", e.Message, e.ErrorCode);
return (e.ErrorCode);
}
return 0;
}请分析这样在一个socket连接里连续发送和接收,会有问题吗?
我碰到的问题是:我在socket客户端,也是如上一样,先发送信息给服务器端,然后接收服务器端回执信息。调试时,我发现服务器端可以接收到信息,也发送了回执信息,可是在我的客户端程序里,一加上receive相关的代码,程序就死掉了。把receive相关代码去掉,就ok了。不知...
receive不行吗?
...