C#中socket中IP地址
其实你搞不清楚的是一个通信机制,或者说通信流程顺序的问题
你仔细分析一下,自然就会明白了
先搞清楚原理,再考虑代码实现
记住几个点
1、首先服务器IP肯定是对客户端公开的
2、服务器怎么知道客户端IP呢?就是客户端登录时,先给服务器IP发登录消息,服务器收到该消息,该消息的来源自然就是客户端IP了
3、双方IP都互相知道了,怎么通信都没问题了吧
这个要看你的服务器的IP地址是否为公网IP 如果服务器IP为公网 则直接使用服务器IP即可
如果你的服务器在路由器后的局域网中,那么就写局域网地址,然后在路由器上做端口映射即可。
1)如果socket采用的是TCP协议,则在执行Connect方法时指定外网的IP和端口//假设外网的IP地址为21893121156socketConnect(IPAddressParse("21893121156"),10001);2)如果socket采用的UDP协议,则在执行SendTo方法时指定外网地址和
IP 端口 类型 查询 地址
222223653 1080 SOCKS4 whois 河北省秦皇岛市 电信
19520656242 1080 SOCKS4 whois 俄罗斯 CZ88NET
130225557 1080 SOCKS4 whois 丹麦 University of Aarhus
13019411121 1080 SOCKS4 whois 澳大利亚 Monash University(墨尔本校区)
222188101 1080 SOCKS4 whois 江苏省盐城市 电信ADSL
22236238 1080 SOCKS4 whois 天津市 铁通
661633878 1080 SOCKS4 whois 美国 CZ88NET
19569184117 1080 SOCKS4 whois 俄罗斯 CZ88NET
6819922988 28046 SOCKS4 whois 美国 新泽西州Newark
219148131219 1080 SOCKS4 whois 河北省秦皇岛市 高等职业技术学院
8266191182 25552 SOCKS4 whois 法国 CZ88NET
13019413101 1080 SOCKS4 whois 澳大利亚 Monash University(墨尔本校区)
2187542178 1080 SOCKS4 whois 浙江省杭州市 浙江大学
1951624748 1080 SOCKS4 whois 俄罗斯 CZ88NET
2186144217 1080 SOCKS4 whois 四川省德阳市 电信
195230643 1080 SOCKS4 whois 俄罗斯 CZ88NET
19326218153 1080 SOCKS4 whois 德国 CZ88NET
21112620898 1080 SOCKS4 whois 日本 CZ88NET
1931105219 1080 SOCKS4 whois 芬兰 CZ88NET
1891979119 1080 SOCKS4 whois 巴西 CZ88NET
1891968212 1080 SOCKS4 whois 巴西 CZ88NET
21810610082 1080 SOCKS4 whois 江苏省扬州市 网通
19421321137 1080 SOCKS4 whois 欧洲 CZ88NET
775010029 1080 SOCKS4 whois 俄罗斯 CZ88NET
241172234 10242 SOCKS4 whois 美国 密之根州
61128110110 24450 SOCKS4 whois 新疆 CZ88NET
60191192181 1080 SOCKS4 whois 浙江省金华市 电信IDC机房
611445443 1080 SOCKS4 whois 中山大学 电信出口
211113246112 25552 SOCKS4 whois 韩国 首尔
85187158179 9050 SOCKS4 whois 保加利亚 CZ88NET
19419238194 1080 SOCKS4 whois 拉脱维亚 CZ88NET
8023710219 1080 SOCKS4 whois 俄罗斯 CZ88NET
218667515 1080 SOCKS4 whois 福建省福州市 深蓝网吧
597721250 1080 SOCKS4 whois 厦门大学 漳州校区
195542274 1080 SOCKS4 whois 俄罗斯 CZ88NET
2121861187 14237 SOCKS4 whois 斯洛文尼亚 CZ88NET
802374209 1080 SOCKS4 whois 俄罗斯 CZ88NET
189196760 1080 SOCKS4 whois 巴西 CZ88NET
2189312226 1080 SOCKS4 whois 江苏省常州市 电信
221215129190 1080 SOCKS4 whois 山东省青岛市 网通
195131143213 1080 SOCKS4 whois 俄罗斯 CZ88NET
6019016738 1080 SOCKS4 whois 浙江省湖州市 电信
189192988 1080 SOCKS4 whois 巴西 CZ88NET
19511317795 1080 SOCKS4 whois 捷克 CZ88NET
1951451741 1080 SOCKS4 whois 德国 CZ88NET
813129117 1080 SOCKS4 whois 俄罗斯 CZ88NET
19310918391 1080 SOCKS4 whois 斯洛文尼亚 CZ88NET
13019413103 1080 SOCKS4 whois 澳大利亚 Monash University(墨尔本校区)
6114478167 1080 SOCKS4 whois 广东省广州市萝岗区 华南师范大学华澳国际会计学院
13019413104 1080 SOCKS4 whois 澳大利亚 Monash University(墨尔本校区)
2222316318 7000 SOCKS4 whois 韩国 首尔
19520657222 1080 SOCKS4 whois 俄罗斯 CZ88NET
2111328209 1080 SOCKS4 whois 日本 CZ88NET
611344782 1234 SOCKS4 whois 陕西省安康市 电信
217914643 1080 SOCKS4 whois 德国 杜伊斯堡
(不同的网络状态,代理的可用性会相差很大,请多尝试并验证代理)
可以写网址,假设你要使用TCP连接,要用到这样的结构:
struct
sockaddr_in
server_addr;
/
要连接的服务器
/
struct
hostent
host;
/
服务器
/
host
=
gethostbyname("wwwbaiducom");
/
建立socket
/
sockfd=socket(AF_INET,SOCK_STREAM,0);
/
填充服务器
/
bzero(&server_addr,sizeof(server_addr));
server_addrsin_family=AF_INET;
server_addrsin_port=htons(portnumber);
server_addrsin_addr=((struct
in_addr
)host->h_addr);
/
现在可以连接了
/
connect(sockfd,(struct
sockaddr
)(&server_addr),sizeof(struct
sockaddr));
s
=
new
Socket("127001",
8880)
前面那个IP是服务器的地址,只要这个IP写正确了,服务器放在哪里,客户端都能连上去的。
1270。01最简单的解释就是本机地址,你用这个IP,访问的就是你自己。
你可以去服务器上查看一下网络地址,然后把1270。01换成服务器的IP。
第一章 Java网络编程的原因
网络程序的功能
安全性
等等!还有更多!
第二章 基本网络概念
网络
网络的分层
IP、TCP和UDP
Internet
客户/服务器模型
Internet标准
第三章 基本Web概念
URI
HTML、SGML和XML
HTTP
MIME媒体类型
服务器端程序
第四章 流
输出流
输人流
过滤器流
阅读器和书写器
第五章 线程
运行线程
返回线程中的信息
同步
死锁
线程调度
线程池
第六章 查找Internet地址
InetAddress类
Inet4Address和Inet6Address
NetworkInterface类
一些有用的程序
第七章 U R L和U R I
URL类
URLEncoder和URLDecoder类
URI类
代理
通过GET方法与服务器端程序通信
访问受口令保护的网站
第八章 Swing中的HTM L
组件上的HTML
JEditorPane
解析HTML
coOkie一
第九章 客户端Socket
socket基础
用Telnet研究协议
Socket类
Socket异常
Socket地址
示例
第十章 服务器socket
ServerSocket类
一些有用的服务器
第十一章安全Socket
保护通信
创建安全客户端socket
SsLSocket类的方法
创建安全的服务器socket
SSLSerVerSocket类的方法
第十二章 非阻塞I/O。
一个示例客户端
一个示例服务器
缓冲区
通道
就绪选择
第十三章 UDP数据报和Socket
UDP协议
DatagramPacket类
DatagramSocket类
一些有用的应用程序
DatagramChannel
第十四章 组播socket
何为组播socket
使用组播socket
两个简单示例
第十五章 URLConnection
打开URLConnection
读取服务器的数据
读取首部
配置连接
配置客户端的请求HTTP首部
向服务器写入数据
内容处理器
0bject方法
URLConnection的安全考虑
猜测MIME内容类型
HttpURLCOnnectiOn
缓存
JarURLCOnnectiOn
第十六章 协议处理器
何为协议处理器7
URLStreamHandler类
编写协议处理器
更多协议处理器示例和技术
URLStreamHandlerFactory接口
第十七章 内容处理器
何为内容处理器7
ContentHandler类
ContentHandlerFactory接口
FITS格式的内容处理器
第十八 章远程方法调用
何为远程方法调用7
实现
在运行时加载类
java rmi包
jaVarmiregistry包
javarmiserver包
第十九章 JavaMailAPI
何为JavaMail API
发送电子邮件一
接收邮件
口令认证
地址一
URLName类
Message类
Part接口
多部分消息和附件
MIME消息
文件夹
……
0条评论