to clack and kevin BIND函数有这个参数悬想,是吗?我去找找看,另外,他们说的如果有CLIENT端发起请求是不是两个BIND到这个PORT的SERVER程序都可以收到?把PORT设置为可重用的,能告诉我这个函数在哪里使用吗?给个SAMPLE,好吗。谢谢。
请回答问题的老兄们负责好不好!!FTP客户与FTP服务器是不同的。 原因如下:FTP服务器是用 PORT 21 来进行Listen的,当FTP客户来进行请求时,服务器会分配一个新的PORT去与客户进行通讯,而不是PORT 21。所以FTP客户的 PORT 不一定是 21。 可以有多个FTP客户在启动.
就是这个老 #define SO_REUSEADDR 0x0004 /* allow local address reuse */#define #define SO_EXCLUSIVEADDRUSE ((int)(~SO_REUSEADDR)) /* disallow local address reuse */
就是这个老 #define SO_REUSEADDR 0x0004 /* allow local address reuse */ #define SO_EXCLUSIVEADDRUSE ((int)(~SO_REUSEADDR)) /* disallow local address reuse */
How to config this!?
1。SOCKET的句柄可以继承。所以如果另外一个进程是前面那个进程的子进程,就可以直接使用同一个socket.
2。就是上面有人提到过的重新绑定。
可以使用参数 bind到已经使用的端口,具体参数查查winsock2.h,我忘掉了。
BIND函数有这个参数悬想,是吗?我去找找看,另外,他们说的如果有CLIENT端发起请求是不是两个BIND到这个PORT的SERVER程序都可以收到?把PORT设置为可重用的,能告诉我这个函数在哪里使用吗?给个SAMPLE,好吗。谢谢。
原因如下:FTP服务器是用 PORT 21 来进行Listen的,当FTP客户来进行请求时,服务器会分配一个新的PORT去与客户进行通讯,而不是PORT 21。所以FTP客户的 PORT 不一定是 21。
可以有多个FTP客户在启动.
#define SO_REUSEADDR 0x0004 /* allow local address reuse */#define #define SO_EXCLUSIVEADDRUSE ((int)(~SO_REUSEADDR)) /* disallow local address reuse */
#define SO_REUSEADDR 0x0004 /* allow local address reuse */
#define SO_EXCLUSIVEADDRUSE ((int)(~SO_REUSEADDR)) /* disallow local address reuse */