C# System.Net.Sockets.SocketException异常

Code生涯刚开始 2017-10-30 10:18:30
图示所示代码为抓包部分代码,采用的是Raw Socket抓包,软件在部分win7系统和Server系统运行时,一旦电脑被远程登录,程序就会在 int receivedBytes = socket.EndReceive(ar)抛出异常,异常显示“一个在数据包套接字上发送的消息大于内部消息缓冲区或其他一些网络限制,或该用户用于接收数据包的缓冲区比数据包小”,请问这是什么原因?在不远程访问时程序不会出现这种异常。

此外,程序在运行过程中一直会有捕捉不到的异常,如图,显示“引发的异常:“System.Net.Sockets.SocketException”(位于 System.dll 中)”,请问可能的原因有哪些?
...全文
6884 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 1 楼 shoppo0505 的回复:
你使用的socket是不是远程电脑启动后会被其他程序占用?
应该没有,两个电脑直接没什么关系
zpc38368330 2017-11-01
  • 打赏
  • 举报
回复
看提示已经说明是缓冲区的问题,不是你程序的问题,你在控制面板的网络中找到你的网卡(本地链接的图标),点击鼠标右键,弹出的框内找到缓冲区的设置,好像最大可以设置成65535,以前碰到过此类的问题,不在电脑前具体步骤忘了
shoppo0505 2017-10-31
  • 打赏
  • 举报
回复
你使用的socket是不是远程电脑启动后会被其他程序占用?
私聊与多聊、TCP运用 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Threading; using System.Net.Sockets; using System.Net; using System.Runtime.Serialization; using System.Runtime.Serialization.Formatters.Binary; using System.IO; using System.Collections; using System.Collections.Specialized; namespace EasyChatServer { class Listener { #region 字段定义 /// /// 服务器程序使用的端口,默认为8888 /// private int _port = 8888; /// /// 接收数据缓冲区大小64K /// private const int _maxPacket = 64 * 1024; /// /// 服务器端的监听器 /// private TcpListener _tcpl = null; /// /// 保存所有客户端会话的哈希表 /// private Hashtable _transmit_tb = new Hashtable(); #endregion #region 服务器方法 /// /// 关闭监听器并释放资源 /// public void Close() { if (_tcpl != null) { _tcpl.Stop(); } //关闭客户端连接并清理资源 if (_transmit_tb.Count != 0) { foreach (Socket session in _transmit_tb.Values) { session.Shutdown(SocketShutdown.Both); } _transmit_tb.Clear(); _transmit_tb = null; } } /// /// 配置监听端口号 /// public void GetConfig() { string portParam; Console.Write("请输入监听端口,直接回车则接受默认端口8888: "); portParam = Console.ReadLine(); if (portParam != string.Empty) { if (!int.TryParse(portParam, out _port) || _port 65535) { _port = 8888; Console.WriteLine("端口号不合法,默认端口号被接受!");

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧