当前mono安装目录为:/home/mono,安装成功后修改配置需进入这个路径:
cd /home/mono
1.修改TcpBinaryFrameManager.cs文件
cd /home/mono/mono-2.10.8
vim mcs/class/System.ServiceModel/System.ServiceModel.Channels.NetTcp/TcpBinaryFrameManager.cs
1.1 可以通过命令:set nu
显示行号,帮助定位;或者搜索关键字65536进行定位。
找到下面行,将65536后面加上000,修改为65536000(第201行):
if (length 65536000)
1.2 继续向下找到ProcessPreambleAckInitiator()函数,在里面加上下面2行(第245行):
case UnsizedMessageTerminator:
return;
1.3 继续找到ProcessPreambleAckInitiator()函数:
办法一增加:
case UnsizedMessageTerminator:
return;
case UseExtendedEncodingRecord:
return;
办法二增加:
case UnsizedMessageTerminator:
return;
case UseExtendedEncodingRecord:
return;
default:
return ;
2.修改NetworkStream.cs文件:
vim /mcs/class/System/System.Net.Sockets/NetworkStream.cs
找到下面语句,将其加上”//”符号注释掉,并且在下面行加上返回值(第399行):
//throw new IOException (“Read failure”,e);
return 0;
继续找到下面语句,同样将其加上”//”符号注释掉,并且在下面行加上返回值(第444行):
//throw new IOException (“Write failure”,e)
return;
3.重新编译
cd /home/mono/mono-2.10.8
make && make install