热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用安卓手机GPRS网络连接Socket问题

我们平常编程会使用SOCKET来进行数据的传输例如serverServerSocketservernewServerSocket(4321);while(true)
我们平常编程会使用SOCKET来进行数据的传输
例如
//server
ServerSocket server = new ServerSocket(4321);

while(true) {

socket = server.accept();

new ServerThread(socket).start();

}

以上开启一个服务器一直进行客户端的连接监听工作
//client
SocketConnection sc = (SocketConnection) Connector.open("socket://127.0.0.1:4321"); 
以上为客户端连接Socket服务器代码。
服务器一旦监听到连接便会开始一个Socket对象,进行数据传输。


问题来了,我使用手机进行测试的时候,手机如果存在WIFI的时候可以连接服务器端,进行数据传输,一旦手机没有WIFI,只有使用运营商提供的GPRS连接的时候,怎么能够连接上服务器端呢?

求大神

23 个解决方案

#1


用GPRS的时候没有外网IP 怎么可能连接的上
就类似你的本地电脑上应用 在互联网上不能访问一个原理 

#2


你是说没办法实现连接外网咯?那GPRS怎么上WEB的网页??。。。。肯定有外网的IP可以连接外网的啊。。。

#3


搞定了谢谢,各位
参考文章,最后一项使用WAP连接Socket,还没测试
http://blog.csdn.net/BBHeipy/article/details/5615044

#4


你尝试过了吗?OK否?我之前做了一个应用,也是没有用GPRS连接,只能在WIFI的情况下使用。
引用 3 楼  的回复:
搞定了谢谢,各位
参考文章,最后一项使用WAP连接Socket,还没测试
http://blog.csdn.net/BBHeipy/article/details/5615044

#5


没有测试,晚上回家,加上代码才知道。现在国内很少WIFI连接啊,如果要实时连接到服务器必须要通过的GPRS。。。

#6


如果你服务器有静态IP地址,手机能上网就能够监听到的,和具体通过什么上网没关系。如果你没静态IP,那只能局域网

#7


楼主搞定了么?我也遇到了同样的问题……

#8


楼主解决没?我也遇到了同样的问题。纠结中……

#9


看看你手机是使用CMNET 还是CMWAP,如果是后者则需要代理才可以

#10


引用 9 楼  的回复:
看看你手机是使用CMNET 还是CMWAP,如果是后者则需要代理才可以

   补充一下:
   CMNET和CMWAP是中国移动GPRS网络的两个不同APN(接入点名称),之所以这样分类是以控制为目的。CMNET提供了NAT服务,使用该服务的手机可以直接访问internet。CMWAP只提供了WAP代理和HTTP代理,手机上网能访问的范围有限,接入时只能访问GPRS网络内的IP(10,*,*,*)。因此CMWAP主要用于手机WAP上网,CMNET则是用于PC,笔记本电脑,PDA等设备实现GPRS上网。两者手机上网的方式没有差别,如此划分是中国移动对手机上网服务对象的定位不同,所以他们的应用范围和自费标准不同。 

#11


10楼说的还是不错,和我在网上看到的内容差不多。也是说需要使用代理

而使用代理需要在代码里加什么话??网上好像有写,但是加到代理里会报错。不知道楼上有没有做过这方面的代码

昨天我使用GPRS测试的时候,在我自己的手机上测试,直接使用电脑普通SOCKET通讯的代码就可以上传了,不知道我的手机是不是直接走的CMNET方式。我给我朋友测试的时候,他说他只开了CMWAP,那样我服务器就没有收到他的文件。

#12


为什么我的cmnet已经打开,但socket还是连不上

#13


引用 10 楼  的回复:
引用 9 楼  的回复:

看看你手机是使用CMNET 还是CMWAP,如果是后者则需要代理才可以

   补充一下:
   CMNET和CMWAP是中国移动GPRS网络的两个不同APN(接入点名称),之所以这样分类是以控制为目的。CMNET提供了NAT服务,使用该服务的手机可以直接访问internet。CMWAP只提供了WAP代理和HTTP代理,手机上网能访问的范围有限,接入时只能访……


您好!手机使用的是cmnet,但是测试socket还是连接不上,是因为pc用的校园网么?

#14


你的服务器需要在外网上,不能在局域网,如果处于局域网,还需要对服务器的端口进行映射,就像你的整个校园网络是一个大的局域网。然后有一个网关可以访问internet,从外部来的访问,能够访问到的也只是你的网关,他无法自动获取到你内部服务器 的位置,寻找这个过程是通过网关去转发的。做映射的工作就是当有人访问你的服务器的时候,网关知道往哪里转发。

自己的理解和经验,有不对的地方请指出、交流

#15


引用 14 楼  的回复:
你的服务器需要在外网上,不能在局域网,如果处于局域网,还需要对服务器的端口进行映射,就像你的整个校园网络是一个大的局域网。然后有一个网关可以访问internet,从外部来的访问,能够访问到的也只是你的网关,他无法自动获取到你内部服务器 的位置,寻找这个过程是通过网关去转发的。做映射的工作就是当有人访问你的服务器的时候,网关知道往哪里转发。

自己的理解和经验,有不对的地方请指出、交流


明白啦!谢谢楼主!!!!

#16


我们最近正好也做了一个基于gprs的大规模应用,可以支持上千台gprs设备用socket方式连接服务器。

有开放接口,欢迎大家测试交流。 184.169.160.55这个ip地址监听12345端口,可以进行连接测试。

184.169.160.55/GPRS_Free_Test/

#17


引用 16 楼  的回复:
我们最近正好也做了一个基于gprs的大规模应用,可以支持上千台gprs设备用socket方式连接服务器。

有开放接口,欢迎大家测试交流。 184.169.160.55这个ip地址监听12345端口,可以进行连接测试。

184.169.160.55/GPRS_Free_Test/


近期要对公司的移动办公软件进行升级,需要用到socket来开发推送功能,以减少终端设备对服务器访问次来减少数据流量的使用。
正好用上,不知道能否用UDP,楼主的千台GPRS设备连接服务器,需要注意哪些地方呢?

#18


引用 14 楼  的回复:
你的服务器需要在外网上,不能在局域网,如果处于局域网,还需要对服务器的端口进行映射,就像你的整个校园网络是一个大的局域网。然后有一个网关可以访问internet,从外部来的访问,能够访问到的也只是你的网关,他无法自动获取到你内部服务器 的位置,寻找这个过程是通过网关去转发的。做映射的工作就是当有人访问你的服务器的时候,网关知道往哪里转发。

自己的理解和经验,有不对的地方请指出、交流

我的服务器也在局域网里,怎么对服务器的端口进行映射?

#19


这个需要登录你的网关去设置了。具体设置请百度,很多文章了,这里不赘述。

#20


回复一下,关注下类似技术

#21


楼主您好,我最近也在做一个使用GRPS网络访问服务器的项目,遇到和你相同的问题。我的服务器是192.168.109,是可以访问外网的。怎样把这个服务器地址映射到外网上呢?

#22


你好楼主,这里是初学者,我最近也在研究,我想实现一个从客户端手机上获取蓝牙地址并通过socket连接把地址传给服务器端的功能,现在的问题是在手机上可以获取到mac地址的显示,但是我一旦把socket的相关.java放进去就没有任何反应,求答案。

#23


楼主求解答呀。

推荐阅读
  • 如何使用PLEX播放组播、抓取信号源以及设置路由器
    本文介绍了如何使用PLEX播放组播、抓取信号源以及设置路由器。通过使用xTeve软件和M3U源,用户可以在PLEX上实现直播功能,并且可以自动匹配EPG信息和定时录制节目。同时,本文还提供了从华为itv盒子提取组播地址的方法以及如何在ASUS固件路由器上设置IPTV。在使用PLEX之前,建议先使用VLC测试是否可以正常播放UDPXY转发的iptv流。最后,本文还介绍了docker版xTeve的设置方法。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 本文介绍了在使用Python中的aiohttp模块模拟服务器时出现的连接失败问题,并提供了相应的解决方法。文章中详细说明了出错的代码以及相关的软件版本和环境信息,同时也提到了相关的警告信息和函数的替代方案。通过阅读本文,读者可以了解到如何解决Python连接服务器失败的问题,并对aiohttp模块有更深入的了解。 ... [详细]
  • WebSocket与Socket.io的理解
    WebSocketprotocol是HTML5一种新的协议。它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • Netty源代码分析服务器端启动ServerBootstrap初始化
    本文主要分析了Netty源代码中服务器端启动的过程,包括ServerBootstrap的初始化和相关参数的设置。通过分析NioEventLoopGroup、NioServerSocketChannel、ChannelOption.SO_BACKLOG等关键组件和选项的作用,深入理解Netty服务器端的启动过程。同时,还介绍了LoggingHandler的作用和使用方法,帮助读者更好地理解Netty源代码。 ... [详细]
  • 译文:如何使用SocketAsyncEventArgs类(How to use the SocketAsyncEventArgs class)
    转载自:http:blog.csdn.nethulihuiarticledetails3244520原文:HowtousetheSocketAsyncE ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • UML 包图
    什么是包包可直接理解为命名空间,文件夹,是用来组织图形的封装,包图可以用来表述功能组命名空间的组织层次。•在面向对象软件开发的视角中&#x ... [详细]
  • iwanttowriteasimpleAppforme(Android).Forthisitisnecessarythattheservercansenddat ... [详细]
  • 一、安装telnet1.上传如下的rpm安装包http:mirrors.163.comcentos7.6.1810osx86_64Packagestelnet-0.17-64.el ... [详细]
  • 并不是上一个用SocketServer的聊天室的延续。用远程调用完成的聊天室。正好有Java的RMI聊天室的作业,就先用Python写了一个简单的类似远程调用的东西& ... [详细]
author-avatar
丢失的面包树
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有