用VC写网络通信,当客户端连接服务器时,服务器怎么确定客户端要连接的是哪个端口号呢?有两个SOCKET,服务器开了两个socket,那怎么确定客户端是连接哪个socket呢?比如:服务器开了8000端口和8001端口,客户端连接8000的端口,那服务端如何得到这个客户端是连接哪个端口的呢?????
解决方案 »
- 怎么让SDI的一个数据同时传给静态切分视图的两个View
- bmp位图对齐字节问题
- 向数据库sql sever 2000中的一条记录修改某个字段的值
- EXCEL Delete Insert(在线等待)
- 如何拦截WORD中的事件或命令
- 请问如何正确使用MSDN?
- 同一局域网内两台win2000之间如何传文件?
- 为什么在对话框内使用GetWindowRect(&rect)会得不到正确的值?
- 各位有没见过显示全国地图的控件?能显示省份,大城市及交通等信息。
- ?????????//图形问题高手请///////////???????????????????
- VC中自制Cursor为什么不能显示?
- 非服务程序,如何自己通过命令方式 让自己退出??
int connect(
__in SOCKET s,
__in const struct sockaddr* name,
__in int namelen
);
其中第二个参数是一个结构体struct sockaddr_in{
short sin_family;
unsigned short sin_port;
struct in_addr sin_addr;
char sin_zero[8];
}; 其中sin_port即指定你连接的端口,因此他连接的是8000端口,就是与绑定的8000端口那个socket,而至于服务器如何识别的,这个不需要你关系,这是由协议栈来做的,可以参照http://blog.chinaunix.net/uid-22359610-id-1626525.html大致了解