java - 使用 Socket 与服务器通信

标签 java android sockets

我正在尝试向服务器发送消息并获得响应。 当我尝试打开套接字时出现异常:

我已将以下几行添加到 AndroidManifest.xml 中:

< uses-permission android:name="android.permission.INTERNET" /> 
< uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

在应用标签之前。
这是我的代码:

                String IP = "81.218.150.49";
                int port = 32001;
                Socket my_socket = new Socket(IP, port); //Here i get exception !!

                BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(my_socket.getOutputStream(), "UTF8"));
                wr.write("mobiwize server login test testpswd\r\n");

                // Send data
                wr.flush();

                // Get response
                StringBuffer sb = new StringBuffer("");
                BufferedReader rd = new BufferedReader(new InputStreamReader(my_socket.getInputStream()));
                String line ="";
                String NL = System.getProperty("line.separator");
                while ((line = rd.readLine()) != null) {
                    sb.append(line + NL);
                }
                httpStuff.setText(sb);

                rd.close();
                wr.close();
            } catch (Exception e) {
            }

非常感谢您的帮助!

最佳答案

试试这个....

1.如果你想访问这个服务器

with IP: 81.218.150.49 through Internet, then it must
   be your static ip, rather than an dynamic one.

2. 尝试使用分配给您 LAN 中的 pc 的私有(private) ip 地址或公共(public) ip 地址运行此代码(即。没有 internet..JUST WIRELESS CONNECTION)

<强>3。私有(private) IP 或公共(public) IP 在您连接到 Internet 之前没有任何意义。直到那时您可以将两者用作其 LAN。

4.私有(private) IP 范围

A 类:10.0.0.0 - 10.0.0.255 B 类:172.16.0.0 - 172.31.255.255 C类:192.168.0.0 - 192.168.255.255

<强>5。公共(public)由您的服务提供商提供,这将是私有(private) ip 范围之外的任何人。如果您的 ip 不是静态的,则您几乎没有机会或根本没有机会通过 Internet 访问服务器,有些网站会从您的动态 ip 中提供静态 ip。

关于java - 使用 Socket 与服务器通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11390738/

相关文章:

Java 归并排序 : Compare and Swap Counters

java - 如何从Java中的构造函数反序列化对象?

java - “if” 语句与 OO 设计 - 2

java - 将值传递给方法的问题

android - 将 GreenDao LazyList 添加到列表中是不可能的?

Java(Kotlin) 套接字服务器。连续阅读

android - 如何优化 tensorflow 对象检测器?

android - love2d编译器行为的差异

node.js - 套接字.io : how to control & check the message flow?

c# - 我如何在同一端口上同时使用套接字发送和接收