社区
进程/线程/DLL
帖子详情
socket的bind错误,错误号是10038,SOCKET是不是不能在线程里创建???
lpt
2001-07-02 04:33:33
如题,谢谢
...全文
1027
14
打赏
收藏
socket的bind错误,错误号是10038,SOCKET是不是不能在线程里创建???
如题,谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Xgigi
2002-03-08
打赏
举报
回复
只要线程没结束,在其他线程里得到socket的句柄就能用的
skt985
2002-01-11
打赏
举报
回复
31230关注! :)
flyasfreebird
2001-09-28
打赏
举报
回复
请问,线程中创建的socket真的不能被其他线程使用吗?
可是我看到很多例子都是这样做的.
很迷惑.
unix123
2001-09-01
打赏
举报
回复
上面我提的这个问题,如果将bind去掉的话,accept时会出错
CSocket::PumpMessages(unsigned int 8) line 850 + 28 bytes
CSocket::Accept(CAsyncSocket & {CAsyncSocket}, sockaddr * 0x00c8fe9c, int * 0x00000000) line 652 + 13 bytes
ServerThreadProc(void * 0x00000184) line 120 + 31 bytes
_AfxThreadEntry(void * 0x0064f78c) line 112 + 13 bytes
_threadstartex(void * 0x00772940) line 212 + 13 bytes
KERNEL32! bff8922c()
KERNEL32! bff86cd5()
KERNEL32! bff86bd2()
为什么,请高手指教,谢谢!!
unix123
2001-09-01
打赏
举报
回复
socket的bind错误,错误号是10022,即
WSAEINVAL The socket is already bound to an address.
请高手指教!
附上代码:
服务器端:
UINT ServerThreadProc(LPVOID pParam)
{
CSockAddr saClient;
CSocket sConnect;
try{
if (!g_sListen.Accept (sConnect,saClient)){
return 0;
}
AfxBeginThread(ServerThreadProc,pParam);
//sConnect.SendTo ("aaa");
sConnect.Close ();
}
catch (CException *e){
e->Delete ();
}
return 0;
}
void CMainFrame::OnStartServer()
{
// TODO: Add your command handler code here
try{
CSockAddr saServer(INADDR_ANY,80);
if (!g_sListen.Create ())
TRACE("Create Socket fail\n");
if (!g_sListen.Bind (saServer,sizeof(saServer)))
{
TRACE("Bind fail %d\n",GetLastError());
}
if (!g_sListen.Listen ())
TRACE("Listen fail\n");
AfxBeginThread(ServerThreadProc,GetSafeHwnd());
}
catch (CException *e){
g_sListen.Close ();
}
}
lpt
2001-07-04
打赏
举报
回复
给分了
Tasehouny
2001-07-03
打赏
举报
回复
在一个非套接字上尝试了一个操作
begin
2001-07-03
打赏
举报
回复
在线称中创建的socket,在其他线程中好像是不能用的(包括主线称)。
据说是因为线称由自己的存储空间,你在线称中创建的socket,
如果线称结束了就已经释放了
happydeer
2001-07-02
打赏
举报
回复
TO lpt(独云):
SOCKET错误可以到winsock.h中去查。
#define WSABASEERR 10000
/*
* Windows Sockets definitions of regular Microsoft C error constants
*/
#define WSAEINTR (WSABASEERR+4)
#define WSAEBADF (WSABASEERR+9)
#define WSAEACCES (WSABASEERR+13)
#define WSAEFAULT (WSABASEERR+14)
#define WSAEINVAL (WSABASEERR+22)
#define WSAEMFILE (WSABASEERR+24)
/*
* Windows Sockets definitions of regular Berkeley error constants
*/
#define WSAEWOULDBLOCK (WSABASEERR+35)
#define WSAEINPROGRESS (WSABASEERR+36)
#define WSAEALREADY (WSABASEERR+37)
#define WSAENOTSOCK (WSABASEERR+38)
#define WSAEDESTADDRREQ (WSABASEERR+39)
#define WSAEMSGSIZE (WSABASEERR+40)
#define WSAEPROTOTYPE (WSABASEERR+41)
#define WSAENOPROTOOPT (WSABASEERR+42)
#define WSAEPROTONOSUPPORT (WSABASEERR+43)
#define WSAESOCKTNOSUPPORT (WSABASEERR+44)
#define WSAEOPNOTSUPP (WSABASEERR+45)
#define WSAEPFNOSUPPORT (WSABASEERR+46)
#define WSAEAFNOSUPPORT (WSABASEERR+47)
#define WSAEADDRINUSE (WSABASEERR+48)
#define WSAEADDRNOTAVAIL (WSABASEERR+49)
#define WSAENETDOWN (WSABASEERR+50)
#define WSAENETUNREACH (WSABASEERR+51)
#define WSAENETRESET (WSABASEERR+52)
#define WSAECONNABORTED (WSABASEERR+53)
#define WSAECONNRESET (WSABASEERR+54)
#define WSAENOBUFS (WSABASEERR+55)
#define WSAEISCONN (WSABASEERR+56)
#define WSAENOTCONN (WSABASEERR+57)
#define WSAESHUTDOWN (WSABASEERR+58)
#define WSAETOOMANYREFS (WSABASEERR+59)
#define WSAETIMEDOUT (WSABASEERR+60)
#define WSAECONNREFUSED (WSABASEERR+61)
#define WSAELOOP (WSABASEERR+62)
#define WSAENAMETOOLONG (WSABASEERR+63)
#define WSAEHOSTDOWN (WSABASEERR+64)
#define WSAEHOSTUNREACH (WSABASEERR+65)
#define WSAENOTEMPTY (WSABASEERR+66)
#define WSAEPROCLIM (WSABASEERR+67)
#define WSAEUSERS (WSABASEERR+68)
#define WSAEDQUOT (WSABASEERR+69)
#define WSAESTALE (WSABASEERR+70)
#define WSAEREMOTE (WSABASEERR+71)
#define WSAEDISCON (WSABASEERR+101)
/*
xlqin
2001-07-02
打赏
举报
回复
WSAENOTSOCK (10038) Socket operation on non-socket
可能是套接字名柄参数没有引用到一个合法的套接字
应是你的SOCKET参数有问题!
lpt
2001-07-02
打赏
举报
回复
创建成功啦
去那里查SOCKET错误???
wjyasd
2001-07-02
打赏
举报
回复
是吧,线程中负责接受数据!
guostong
2001-07-02
打赏
举报
回复
10038:The descriptor is not a socket.
你的socket创建成功了?
lpt
2001-07-02
打赏
举报
回复
没人答呀
易语言端口服务测试
易语言端口服务测试源码系统结构:接受连接
线程
,取
错误
文本,ServerWorkerThread,
socket
,WSA
Socket
,WSAAccept,close
socket
,Connect,Send,recv,WSARecv,
bind
,WSAStartup,WSACleanup,htons,inet_ntoa,inet_addr,listen,accept,ntohs,se
python
bind
sock_python 在
bind
端口之后
创建
的
socket
如果不关闭的话会被回收吗?
在进行tcp
socket
编程的时候,遇到一个问题:我
创建
一个A=
socket
,在进行
bind
之后,这个
socket
为在进行tcp
socket
编程的时候,遇到一个问题:我
创建
一个A=
socket
,在进行
bind
之后,这个
socket
为然后会accpet到一个
socket
想问这两个
socket
是什么关系,我想要关闭与192.168.2.53的
socket
连接时候,第一个产生的
socket
需要处理吗。...
多
线程
下
socket
的
bind
、accept函数分析以及对
socket
端口
号
的深入理解
本文原创,欢迎转载,转载时请注明出处,谢谢:https://blog.csdn.net/zz420521/article/details/81914358 我们知道,在TCP协议下的网络通讯,服务器在accept之后会生成一个新的套接字与客户端进行通讯,这个新套接字的端口是提供给客户端的,所以是属于客户端的端口,等下有试验证明。 一般来说,服务器accept返回的这个新套接字的端口
号
是操作系统...
Tomcat启动异常java.lang.Exception:
Socket
bind
failed: [730048]
今天不知怎么地,tomcat重启一下一直报错java.lang.Exception:
Socket
bind
failed: [730048] ?????????×???(Э?é/???????/???)????í??。。。 此异常为端口被占用,原因: 1.可能TOMCAT已启动. 2.其他
线程
使用此端口 tomcat已经被我关闭了,考虑是第二种情况。 tomcat的默认端口是8080,
TOMCAT异常
Socket
bind
failed: [730048] tomcat
不能
启动
严重: Error initializing endpoint java.lang.Exception:
Socket
bind
failed: [730048] ?????????×???(Э?é/??????/???)????í?????Ρ? 此异常为端口被占用,原因:1.可能TOMCAT已启动.2.其他
线程
使用此端口. 纠结了我很久,人都快崩溃了,发现我是被其他的
线程
占用了这个
进程/线程/DLL
15,471
社区成员
49,181
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章