手机和电脑连的同一个WIFI为啥不在同一电脑不在局域网内?

同一个局域网(wifi)环境下,计算机能读取其它连接终端的信息吗?(如手机号码)
同一个局域网(wifi)环境下,计算机能读取显示其它连接终端信息吗?(如手机号码)当他人连接wifi时,是否可以通过WIF向他人推送广播或发送短信?例如这个问题
已有帐号?
无法登录?
社交帐号登录查看:7002|回复:11
中级工程师
都是同一个wifi的,为什么电脑局域网之间能通信,手机就不能的,和电脑通信都不行??
代码哪里出问题了??真纠结:
关键性代码:
TcpSocketServer :
复制内容到剪贴板代码:package hua.
import java.io.ByteArrayInputS
import java.io.InputS
import java.io.OutputS
import java.net.ServerS
import java.net.S
public class TcpSocketServer {
& & & & public TcpSocketServer(){
& & & & & & & &
& & & & public void startWifi(int port,String buffer)throws Exception{
& & & & & & & & //新建ServerSocket对象,端口为传进来的
& & & & & & & & ServerSocket ss = new ServerSocket(port);
& & & & & & & & //新建Socket通信对象,接受客户端发来的请求accept();
& & & & & & & & Socket s = ss.accept();
& & & & & & & & //创建输入流对象InputStream
& & & & & & & & InputStream bais = new ByteArrayInputStream(buffer.getBytes());
& & & & & & & & //创建输出流对象OutputStream
& & & & & & & & OutputStream out = s.getOutputStream();
& & & & & & & & byte[] buff = new byte[1024];& & & & & & & &
& & & & & & & & while(bais.read(buff) & 0){
& & & & & & & & & & & & out.write(buff);
& & & & & & & & }
& & & & & & & & s.close();& & & & & & & & & & & & & & & &
MainActivity:
复制内容到剪贴板代码:package hua.
import android.os.B
import android.app.A
import android.view.V
import android.view.View.OnClickL
import android.widget.B
import android.widget.EditT
import android.widget.T
public class MainActivity extends Activity {
& & & & protected void onCreate(Bundle savedInstanceState) {
& & & & & & & & super.onCreate(savedInstanceState);
& & & & & & & & setContentView(R.layout.activity_main);
& & & & & & & & Button buttonStartWifi = (Button) this.findViewById(R.id.startWifi);
& & & & & & & & buttonStartWifi.setOnClickListener(new OnClickListener() {
& & & & & & & & public void onClick(View arg0) {
& & & & & & & & & & & & //获取字符串缓冲区buffer
& & & & & & & & & & & & EditText bufferEditText = (EditText)MainActivity.this.findViewById(R.id.buffer);
& & & & & & & & & & & & String buffer = bufferEditText.getText().toString();
& & & & & & & & & & & & //获取端口port
& & & & & & & & & & & & EditText portEditText = (EditText)MainActivity.this.findViewById(R.id.port);
& & & & & & & & & & & & String port = portEditText.getText().toString();
& & & & & & & & & & & & //建立服务端
& & & & & & & & & & & & TcpSocketServer tss = new TcpSocketServer();
& & & & & & & & & & & & try {
& & & & & & & & & & & & & & & & //开始发射wifi信号
& & & & & & & & & & & & & & & & tss.startWifi(Integer.parseInt(port),buffer);
& & & & & & & & & & & & } catch (Exception e) {
& & & & & & & & & & & & & & & & e.printStackTrace();
& & & & & & & & & & & & }& & & &
& & & & & & & & & & & & //提示信息
& & & & & & & & & & & & Toast.makeText(MainActivity.this, &started&,Toast.LENGTH_SHORT).show();& & & & & & & & & & & &
& & & & & & & & }
& & & & & & & & });
& & & & class ServerThread extends Thread{
& & & & & & & & public void run(){
& & & & & & & & }
客户端的:
TcpSocketClient :
复制内容到剪贴板代码:package hua.
import java.io.InputS
import java.net.S
public class TcpSocketClient {& & & & public TcpSocketClient(){
& & & & & & & &
& & & & public String receiveWifi(String ip,int port)throws Exception{
& & & & & & & & //新建Socket通信对象
& & & & & & & & Socket s = new Socket(ip,port);
& & & & & & & & //创建输入流对象InputStream
& & & & & & & & InputStream is = s.getInputStream();
& & & & & & & & byte[] buff = new byte[1024];
& & & & & & & & StringBuffer buffer = new StringBuffer();
& & & & & & & & while(is.read(buff) & 0){
& & & & & & & & & & & & buffer.append(buff);
& & & & & & & & }
& & & & & & & & s.close();
& & & & & & & & return buffer.toString();
MainActivity :
复制内容到剪贴板代码:package hua.import android.os.B
import android.app.A
import android.view.V
import android.view.View.OnClickL
import android.widget.B
import android.widget.EditT
import android.widget.T
public class MainActivity extends Activity {
& & & & protected void onCreate(Bundle savedInstanceState){
& & & & & & & & super.onCreate(savedInstanceState);
& & & & & & & & setContentView(R.layout.activity_main);
& & & & & & & & Button b = (Button)this.findViewById(R.id.button);
& & & & & & & & b.setOnClickListener(new OnClickListener() {& & & & & & & & & & & & & & & & & & & & & & & &
& & & & & & & & & & & & public void onClick(View v) {
& & & & & & & & & & & & & & & & //获取ip输入地址
& & & & & & & & & & & & & & & & EditText ipEditText& &= (EditText)MainActivity.this.findViewById(R.id.ip);
& & & & & & & & & & & & & & & & //获取port端口
& & & & & & & & & & & & & & & & EditText portEditText = (EditText)MainActivity.this.findViewById(R.id.port);
& & & & & & & & & & & & & & & & //建立TcpSocketClient对象
& & & & & & & & & & & & & & & & TcpSocketClient tsc = new TcpSocketClient();
& & & & & & & & & & & & & & & &
& & & & & & & & & & & & & & & & String ip = ipEditText.getText().toString();
& & & & & & & & & & & & & & & & String port = portEditText.getText().toString();
& & & & & & & & & & & & & & & & String buffer = new String();
& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &
& & & & & & & & & & & & & & & & try {
& & & & & & & & & & & & & & & & & & & & //接收wifi
& & & & & & & & & & & & & & & & & & & & buffer = tsc.receiveWifi(ip, Integer.parseInt(port));
& & & & & & & & & & & & & & & & } catch (Exception e) {
& & & & & & & & & & & & & & & & & & & & e.printStackTrace();
& & & & & & & & & & & & & & & & }& & & & & & & & & & & & & & & &
& & & & & & & & & & & & & & & &
& & & & & & & & & & & & & & & & //设置接收来的内容
& & & & & & & & & & & & & & & & EditText editText02 = (EditText)MainActivity.this.findViewById(R.id.EditText02);
& & & & & & & & & & & & & & & & editText02.setText(buffer);
& & & & & & & & & & & & & & & & Toast.makeText(MainActivity.this, &receive&,Toast.LENGTH_SHORT).show();& & & & & & & & & & & & & & & &
& & & & & & & & & & & & }
& & & & & & & & });
中级工程师
我电脑和其它电脑的局域网通信可行的代码和上面的差不多,
但是电脑之间的就行,手机和电脑的就不行,好神奇啊。。。
我晕了。。。求指教哪里错了。。。
经测试可行的
服务端代码:
复制内容到剪贴板代码:import java.net.*;
import java.io.*;
class TcpDemo
& & & & public static void main(String[] args)throws Exception
& & & & & & & & ServerSocket ss = new ServerSocket(115);
& & & & & & & & Socket s = ss.accept();
& & & & & & & & InputStream bais = new ByteArrayInputStream(&ha ha ha ha &.getBytes());
& & & & & & & & OutputStream out = s.getOutputStream();
& & & & & & & & byte[] buff = new byte[1024];
& & & & & & & & int len = 0;
& & & & & & & & while((len = bais.read(buff)) & 0){
& & & & & & & & & & & & out.write(buff);
& & & & & & & & }
& & & & & & & & s.close();& & & & & & & &
& & & & & & & & System.out.println(&TcpDemo:finish&);
客户端的:
复制内容到剪贴板代码:import java.net.*;
import java.io.*;
class TcpClientDemo
& & & & public static void main(String[] args)throws Exception
& & & & & & & & Socket s = new Socket(&169.254.205.180&,220);
& & & & & & & & InputStream is = s.getInputStream();
& & & & & & & & byte[] buff = new byte[1024];
& & & & & & & & while(is.read(buff) & 0){
& & & & & & & & & & & & System.out.println(new String(buff,0,buff.length));
& & & & & & & & }
& & & & & & & & s.close();
资深技术经理
引用:原帖由 kaluosi0 于
16:21 发表
我电脑和其它电脑的局域网通信可行的代码和上面的差不多,
但是电脑之间的就行,手机和电脑的就不行,好神奇啊。。。
我晕了。。。求指教哪里错了。。。
经测试可行的
服务端代码:
import java.net.*;
import java.io.*;
c ... 楼主说用电脑通信,是不是说在电脑上运行模拟器,然后通信?
另外,不知道手机上运行是否有什么异常呢? :D1
中级工程师
引用:原帖由 rongwei84n 于
18:10 发表
楼主说用电脑通信,是不是说在电脑上运行模拟器,然后通信?
另外,不知道手机上运行是否有什么异常呢? :D1 不是,是程序写好了,然后下载到手机上通信。。。
资深技术经理
引用:原帖由 kaluosi0 于
20:02 发表
不是,是程序写好了,然后下载到手机上通信。。。 上次用socket连接没有问题,wifi连接要不参考下这个帖子吧。。
里面就是讲wifi操作的。。 :)1
中级工程师
引用:原帖由 kaluosi0 于
20:02 发表
不是,是程序写好了,然后下载到手机上通信。。。 不晓得,楼主在功能清单中申明权限没有?
中级工程师
引用:原帖由 四海轩 于
10:24 发表
不晓得,楼主在功能清单中申明权限没有? 是的,没错,我还没有申请权限。。。
真背。。。
现在终于搞掂了。。。
谢谢你的回答。。。
中级工程师
引用:原帖由 kaluosi0 于
11:59 发表
是的,没错,我还没有申请权限。。。
真背。。。
现在终于搞掂了。。。
谢谢你的回答。。。 解决就好!这是通病。。。。
中级工程师
引用:原帖由 四海轩 于
13:12 发表
解决就好!这是通病。。。。 现在又出现问题了,我用android做服务端,电脑做客户端。。。
电脑收不到服务端发来的数据,电脑的那个客户端经测试是可以的。。。复制内容到剪贴板代码:
package hua.
import android.os.B
import android.app.A
import android.view.V
import android.view.View.OnClickL
public class MainActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
&&super.onCreate(savedInstanceState);
&&setContentView(R.layout.activity_main);
&&Button buttonStartWifi = (Button) this.findViewById(R.id.startWifi);
&&buttonStartWifi.setOnClickListener(new OnClickListener() {
&&public void onClick(View arg0) {
& &new ServerThread().start();
class ServerThread extends Thread{
&&public void run(){
& &//建立服务端
& &TcpSocketServer tss = new TcpSocketServer();
& & tss.startWifi(221,&dsaaaa&);
& &} catch (Exception e) {
& & // TODO Auto-generated catch block
& & e.printStackTrace();
}权限我只是加了个android.permission.INTERNET的。。
这应该不是权限的问题了吧??
求回复,谢谢。。。
资深技术经理
引用:原帖由 kaluosi0 于
17:22 发表
现在又出现问题了,我用android做服务端,电脑做客户端。。。
电脑收不到服务端发来的数据,电脑的那个客户端经测试是可以的。。。
package hua.
import android.os.B
import android.app.A
im ... 手机做服务端,一般很少这么用,因为它的ip地址不是固定的。。
中级工程师
引用:原帖由 kaluosi0 于
17:22 发表
现在又出现问题了,我用android做服务端,电脑做客户端。。。
电脑收不到服务端发来的数据,电脑的那个客户端经测试是可以的。。。
package hua.
import android.os.B
import android.app.A
im ... 先在手机上发起一个本地socket连接可行不?看可以通信交互不? 看不是端口不存在或者占用,你看下建立socket server catch块中有没有打印异常!
本帖最后由 四海轩 于
21:26 编辑
中级工程师
引用:原帖由 rongwei84n 于
20:29 发表
手机做服务端,一般很少这么用,因为它的ip地址不是固定的。。 我见过,是获取本地ip就可以啦!你所在的位置:&
手机和电脑是否处同一个局域网
判断手机和电脑是否处于同一个局域网的好妙招
  和手机两连接,那么为了保证网络的安全,可以先判断手机和电脑是否处于同一个局域网。下面小编就来和大家分享下同一个局域网的判断方法。
  无线自动连接下管理个人信息和SD卡等手机内容需要满足一个条件:手机和电脑必须处于同一个局域网。
  常见的局域网场景:
  通常来说,手机和电脑连接同一个或 Wi-Fi 热点就处于同一个局域网。
  手机和电脑已经处于同一个局域网,但是依旧无法管理手机内容?
  STEP 1: 豌豆荚可能被手机清理软件清理了,建议在手机上重新打开一次豌豆荚。
  STEP 2: 豌豆荚可能被电脑上的防火墙屏蔽了。建议关闭防火墙或把豌豆荚加入防火墙白名单,包括 Windows 自带和第三方杀毒软件的防火墙。
  怎样确定手机和电脑是否连接到同一个局域网?
  分别查看电脑和手机的 IP 地址,一般来说,若 IP 地址前三个数字相同,则属于同一个局域网。
  例如: 电脑 IP :192.168.1.1 ,手机 IP :192.168.1.2 属于同一个局域网。
  电脑 IP :192.168.1.1 ,手机 IP :192.168.0.50 不在同一个局域网,因为第三个数字不同。
大小:35.5 MB
豌豆荚是豌豆实验室最新推出...
大家都在下
其它应用小分类
最热软件教程最新软件教程
(928788次浏览)
(611812次浏览)
(413649次浏览)
(387294次浏览)
(237666次浏览)
(10次浏览)
(11次浏览)
软件装机必备手机装机必备手机和电脑(pc)互连、互传!_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
手机和电脑(pc)互连、互传!
上传于||文档简介
&&闪​传​新​功​能​,​手​机​和​电​脑​互​连​互​传​!
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
你可能喜欢}

我要回帖

更多关于 共享不在局域网的电脑 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信