socket通信的问题

lqsmn613 2009-10-27 01:04:39
server:
ServerSocket server = null;
Socket socket = null;
String employeeid = null;

try {
server = new ServerSocket(4700);
while (true) {
employeeid = null;
socket = server.accept();
String client_line = null;
BufferedReader br = new BufferedReader(new InputStreamReader(
socket.getInputStream()));
client_line = br.readLine();
String server_line = null;
String employee_name = null;
boolean bb = false;
...............后面的服务器上的操作代码


client:
Socket socket = null;
try {
socket = new Socket("10.10.9.222", 4700);
BufferedReader sin = new BufferedReader(new InputStreamReader(
System.in));
PrintWriter os = new PrintWriter(socket.getOutputStream());
String client_line = null;
.........



上面是socket的服务器和客户端的代码,给了个大概,关键是连接的问题。
我在公司用的,也就是在公司内网里进行测试的,没有问题。
但是这样写,怎么使得客户端是在外网的情况下访问到公司的内网来的呢?

说的直白点,就是一个客户端的程序,如果是在外地的时候,使用网络,如何访问到公司内部的网络呢?
这个程序,通过网络连接,会有数据的发送和接收的,我现在就是用的socket来写这个通信,像我上面这样写,是否和访问到公司的内部的呢??
不明白的可以问,在线等方法!
...全文
71 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lqsmn613 2009-10-27
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 chenwqi0120 的回复:]
在客户的电脑上,要输入什么IP才可以连接到你的服务器,那就在你的client代码中用那个IP。

而且没有人会像你这样把IP,端口写死的,一般通过配置,当IP或端口有变的时候,当是修改IP与端口的工作就够你受!
[/Quote]
呵呵,变化的情况确实还没想到,谢谢啊。
chenwqi0120 2009-10-27
  • 打赏
  • 举报
回复
在客户的电脑上,要输入什么IP才可以连接到你的服务器,那就在你的client代码中用那个IP。

而且没有人会像你这样把IP,端口写死的,一般通过配置,当IP或端口有变的时候,当是修改IP与端口的工作就够你受!
pobaby 2009-10-27
  • 打赏
  • 举报
回复
换成公网IP或走代理服务器也可以吧。
lqsmn613 2009-10-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wwwtom 的回复:]
得有公网ip,或者模拟一个ip出去,和程序无关,都是网络层的问题
[/Quote]
还有这位仁兄,能不能说具体点。
lqsmn613 2009-10-27
  • 打赏
  • 举报
回复
那是不是说,把在客户端设置的地址改为公网IP就可以了,socket的连接方式没有错的是吧?
wwwtom 2009-10-27
  • 打赏
  • 举报
回复
得有公网ip,或者模拟一个ip出去,和程序无关,都是网络层的问题
getemail 2009-10-27
  • 打赏
  • 举报
回复
帮顶

50,542

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧