学socket编程,如何求知从连接的socket中的IP,谢谢
解决方案 »
- lib与dll,用VC++开发
- MFC写的程序能在自己机器上运行,但别的机器上没反应
- 内存释放问题,看看这个函数哪里有问题?
- 关于VC6.0中的一个编译问题,是不是和超线程有关?
- 类似资源管理器的浏览文件夹的窗口如何实现
- 请问有没有xml的格式,谢谢?
- 编程语言怎么样来区分4GL、3GL、C#是吗?PB作为一种脚本语言许多书上都称为4GL
- 有一副BMP图片,怎样用它做.EXE的图标和程序框架右上角的图标
- 老天!unsigned char 取值不是1-255吗?
- 高分寻求解决方案(关于服务程序,今天只能加这么多分,但分数会不断的加)
- 小型搜索引擎源码出售(包括蜘蛛、切词器、索引器及基于ISAPI的查询器)
- vector的使用问题
==============================
accept 原型SOCKET accept(
SOCKET s,
struct sockaddr* addr,
int* addrlen
);=======================
sockaddr 结构struct sockaddr_in {
short sin_family;
u_short sin_port;
struct in_addr sin_addr;
char sin_zero[8];
};
struct sockaddr_in6 {
short sin6_family;
u_short sin6_port;
u_long sin6_flowinfo;
struct in6_addr sin6_addr;
u_long sin6_scope_id;
};
struct sockaddr_in6_old {
short sin6_family;
u_short sin6_port;
u_long sin6_flowinfo;
struct in6_addr sin6_addr;
};
SOCKET accept(
SOCKET s,
struct sockaddr* addr,
int* addrlen
);
ConnAddrs为accept函数中addr参数:CString s_tempIP;
s_tempIP.Format("%d.%d.%d.%d",ConnAddrs.sin_addr.S_un.S_un_b.s_b1,ConnAddrs.sin_addr.S_un.S_un_b.s_b2,ConnAddrs.sin_addr.S_un.S_un_b.s_b3,ConnAddrs.sin_addr.S_un.S_un_b.s_b4);
int getpeername (
SOCKET s,
struct sockaddr FAR* name,
int FAR* namelen
);