导航:首页 > 配服务器 > tcp如何服务器获取客户端ip

tcp如何服务器获取客户端ip

发布时间:2023-06-03 16:43:21

1. 如何获得Socket连接客户端的IP地址

如果服务器端要获取客户端ip的话:


//假设socket(),bind(),listen()函数已经完成
addrlen=sizeof(client);
connetfd=accept(listenfd,(structsockaddr*)&client,&addrlen);

那么client.sin_port 就是客户端的端口

client.sin_addr.s_addr 就是客户端的ip。

这两个都是以网络字节序来保存的,如果要printf的话需要先转化为主机字节序

2. 客服端和服务端建立TCP连接后,怎么从服务端获取客户端的IP地址

Socket clientSock = ServerSocket.Accpet();
接受客户端连接

DateTime connectTime = DateTime.Now;
连接一个客户端后,当前时间就是连接时间。

(clientSock.RemoteEndPoint as IPEndPoint).IPAddress;
ip地址
(clientSock.RemoteEndPoint as IPEndPoint).Port;
端口号

3. 服务器如何获取客户端的IP地址,并与客户端建立TCP连接

客户端的IP自动获取,关键要看客户端的IP是由谁来分配的,如果都是有ISP提供的那么服务器利用IP去连接客户端就不太可能。可以尝试用下面两种思路解决:
1、能否让客户机主动连接服务器。
2、使用动态DNS。让每个客户机都申请一个动态域名,无论它的IP怎样变,当改变以后都会到DNS服务器进行注册,然后服务器使用主机的名字访问客户端。

4. TCP服务器如何检测客户端的IP和端口

你熟悉socket
API不?如果不熟悉的话建议先看看socket编程的文档。这是链接地址:http://msdn.microsoft.com/en-us/library/ms738545(v=VS.85).aspx
一般服务端的sokcet
API调用顺序为:
bind()
//
设置服务端口
listen()
//
等待客户端连接
accept()
//
与客户端建立连接
请参考:http://msdn.microsoft.com/en-us/library/ms737526(v=VS.85).aspx
这是accept函数的原型:
SOCKET
accept(
__in
SOCKET
s,
__out
struct
sockaddr
*addr,
__inout
int
*addrlen
);
第二个参数,
addr,包含了客户端的IP地址和端口。你可以认为这就是客户端的IP和端口。但是,要注意的是这个IP不一定就完全等价于客户端本机的端口。比如:客户端在一个局域网里,IP地址是192.168.1.100,然后它通过ADSL路由连接到internet,再通过internet连接到服务端。这个时候,服务端获得的客户端IP地址就可能是那个ADSL路由的IP。

阅读全文

与tcp如何服务器获取客户端ip相关的资料

热点内容
拍摄指南by小说制造机txt下载 浏览:737
豆瓣pdf 浏览:723
春宫妖姬演员表 浏览:112
韩国情爱电影在线 浏览:812
程序员那么可爱顾墨吃醋 浏览:201
服务器未测速怎么办 浏览:15
男主角林晨的都市小说 浏览:899
百度文库系统源码nodejs 浏览:997
电影院正在上映的电影怎么在家看 浏览:61
永辉生活app如何使用手机闪付 浏览:178
吸奶的电影 浏览:986
对越自卫反击战电影大全集免费 浏览:565
一起看电影网站源码 浏览:909
阿甘正传阿甘的英文名 浏览:159
电影天名 浏览:626
弱视矫治系统源码 浏览:899
金融市场基础知识pdf 浏览:383
三没降头电影 浏览:586
黄色武侠小说txt下载 浏览:531
如何将服务器转移至阿里平台 浏览:744