社区
C++ Builder
帖子详情
帮我看一下这个socket错误(参与有分)
huche
2001-10-30 03:56:03
我在使用TClientSocket用SendBuf发送数据包时出现如下,错误,谁帮我看一下是什么错?谢谢!!
Windows socket error: 在一个非套接字上尝试了一个操作。 (10038), on API 'send'
---------
头五位参与者每人五分,解决问题者五十分,不足五位参与者已经解决问题,剩余部分分数送解决问题者。谢谢!!
...全文
1082
10
打赏
收藏
帮我看一下这个socket错误(参与有分)
我在使用TClientSocket用SendBuf发送数据包时出现如下,错误,谁帮我看一下是什么错?谢谢!! Windows socket error: 在一个非套接字上尝试了一个操作。 (10038), on API 'send' --------- 头五位参与者每人五分,解决问题者五十分,不足五位参与者已经解决问题,剩余部分分数送解决问题者。谢谢!!
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Skywings
2001-11-20
打赏
举报
回复
好象ESocketError是C++ Builder的try catch不能捕捉的异常
huche
2001-10-31
打赏
举报
回复
To szwxj(甲骨文)
如果这样,我每发一次包岂不都要同过产生OnConnect事件才能发送??
zTommy
2001-10-31
打赏
举报
回复
你把源程序贴出来吧,这样很难看出问题。
szwxj
2001-10-30
打赏
举报
回复
把你Open之后的代码放到TClientSocket的OnConnect事件中,否则,SendBuf永远会出错。
另外一种方案就是阻塞方式,但不推荐。
781014
2001-10-30
打赏
举报
回复
啊。这个问题我还没时间去研究不过你要是想搞NETBIOS到还是可以和我一起来搞。
huche
2001-10-30
打赏
举报
回复
非阻塞(ctNonBlocking)
.
.
.
Socket->Host=Ip;
Socket->Port=StrToInt(Port);
Socket->Socket->Connect(Port);
Socket->Open(); //此行语句有无都出错,放connect前面也出错。如果放上一句前面出错时会自动断开连接。
.
.
.
k = SendData.Length();
char* buf=new char[k];
for(i=1,j=1;i<=k;i++)
{
if(SendData[i]==char(1))
{
s1=SendData.SubString(j,i-j);
strcpy(buf+j-1,s1.c_str());
j=i+1;
}
}
try
{
Socket->Socket->SendBuf(buf,k);
}
catch(Exception &e)
{
InsertMsg(e.Message,true);
}
gloom
2001-10-30
打赏
举报
回复
可以贴出部分代码么?
szwxj
2001-10-30
打赏
举报
回复
是不是调用SendBuf之前,没有Open?
注意,如果TClientSocket是非阻塞的(默认),那么Open是立即返回的,但此时并没有真正建立连接。
Liusp
2001-10-30
打赏
举报
回复
详细点?
cctime
2001-10-30
打赏
举报
回复
看一下程序片断
windows下的文件共享(2024.4.15)
windows下的文件共享使用的是CIFS协议,这是微软特有的文件共享协议,这种共享一般在局域网内使用,另外一种FTP共享协议,一般在Internet上使用。
关闭操作系统 默认共享 的一段注册表
Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/lanmanserver/parameters]"AutoShareServer"=dword:00000000"AutoSharewks"=dword:00000000以上内容复制后,放到记事本里,另存为*.reg
如何关闭默认共享
关闭默认共享。这里必须要修改注册表,否则每次重启之后默认共享还会出现。在注册表“HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Run”下,在右栏空白位置点击鼠标右键,选择“新建”,再选“字符串值”,名称中输入:“delipc$”,这里的名字可以随便取,然后双击它就会弹出一个窗口来,输入:“net share ipc$/de
CentOS8安装VirtualBox增强功能
1. VirtualBox安装CentOS8 2. 为安装增强功能所需的软件 su yum update kernel -y yum install kernel-headers kernel-devel gcc make -y init 6 yum install elfutils-libelf-devel -y 3. 从VirtualBox菜单,安装设备->增强功能。 4. 添加用户到vboxsf组 usermod -a -G vboxsf 用户 5. 关闭CentOS系统 6.
Windows基线检查
一、账户与口令管理:1.账号分配检查(避免共享账号和无用账号存在)安全加固:进入“控制面板→管理工具→计算机管理”,在“系统工具→本地用户和组”,根据系统的要求设定不同的账户和账户组、管理员用户、数据库用户、审计用户、来宾用户,防止出现用户越权使用的可能。
C++ Builder
13,871
社区成员
102,696
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章