对于基于 SAGEM HiLo GPRS 的数据通信,它具有 TCP/IP 堆栈,并且有两种连接方式:
(1) 使用基本的 GPRS 命令,然后通过 ppp 拨号将调制解调器连接到公共(public)网络/Internet 之类的
AT+CGDCONT=1,"IP","APN","0.0.0.0",0,0
OK
atd*99***1#
CONNECT
(2)使用GPRS attach然后使用TCP socket命令如
at&k3
OK
AT+KCNXCFG=0,"GPRS","APN","log","pass
word",”0.0.0.0”,”0.0.0.0”,”0.0.0.0”
OK
AT+KCNXTIMER=0,60,2,70
OK
AT+KCNXPROFILE=0
OK
AT+CGATT=1
OK
at+ktcpcfg=0,0,"www.domain.com",PortNo
+KTCPCFG: 1
OK
AT+KTCPCNX=1
OK
AT+KTCPSND=1,18
CONNECT
…Data send…
OK
+KTCP_DATA: 1,1380
AT+KTCPRCV=1,10000
CONNECT
对于使用带端口号的 TCP 连接静态 IP 服务器的远程客户端,我发现可能使用基本 GPRS 命令而不使用任何 TCP/IP 堆栈命令的示例。
这两种方法有什么区别?我了解第一种方法通常用于使用 PC 上网,什么时候不应该像第 1 步,然后是第 2 步。
有时我观察到一个问题,当 GPRS 调制解调器分配以 117 开头的连接 IP 时,它工作正常,而当分配的 IP 从 110 开始时,它与服务器连接并立即断开连接。这两种情况有什么不同以及如何处理这种情况? GPRS 调制解调器的位置在这两种情况下都是相同的,如果我们在很长一段时间后启动,并且如果调制解调器或连接重新启动,那么分配的 IP 将不起作用。
最佳答案
这两个选项的目的相同,PPP 协议(protocol)用于登录系统并为此付费(如拨号)。 'attach'方法是一样的,但是你已经被计费了,所以你不需要像ppp那样'login'。 当然,您提到的第一种情况是用于通过PC连接,但是现在大多数手机(几乎是android)都可以选择作为热点工作,因此如果您的手机已连接到互联网,则可以为PC提供wifi连接.
反正基本上都是一样的,我一直用second choice,只是觉得比dial好...
希望对你有帮助。
关于embedded - 用于嵌入式远程客户端和服务器的基于 GPRS 调制解调器的数据通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3433439/
我想安装一个带有一些身份验证的私有(private)Rubygem服务器。我希望能够使用公共(public)Ubuntu服务器托管内部gem。我读到了http://docs.rubygems.org/read/chapter/18.但是那个没有身份验证-如我所见。然后我读到了https://github.com/cwninja/geminabox.但是当我使用基本身份验证(他们在他们的Wiki中有)时,它会提示从我的服务器获取源。所以。如何制作带有身份验证的私有(private)Rubygem服务器?这是不可能的吗?谢谢。编辑:Geminabox问题。我尝试“捆绑”以安装新的gem..
大约一年前,我决定确保每个包含非唯一文本的Flash通知都将从模块中的方法中获取文本。我这样做的最初原因是为了避免一遍又一遍地输入相同的字符串。如果我想更改措辞,我可以在一个地方轻松完成,而且一遍又一遍地重复同一件事而出现拼写错误的可能性也会降低。我最终得到的是这样的:moduleMessagesdefformat_error_messages(errors)errors.map{|attribute,message|"Error:#{attribute.to_s.titleize}#{message}."}enddeferror_message_could_not_find(obje
最近,当我启动我的Rails服务器时,我收到了一长串警告。虽然它不影响我的应用程序,但我想知道如何解决这些警告。我的估计是imagemagick以某种方式被调用了两次?当我在警告前后检查我的git日志时。我想知道如何解决这个问题。-bcrypt-ruby(3.1.2)-better_errors(1.0.1)+bcrypt(3.1.7)+bcrypt-ruby(3.1.5)-bcrypt(>=3.1.3)+better_errors(1.1.0)bcrypt和imagemagick有关系吗?/Users/rbchris/.rbenv/versions/2.0.0-p247/lib/ru
在Rails4.0.2中,我使用s3_direct_upload和aws-sdkgems直接为s3存储桶上传文件。在开发环境中它工作正常,但在生产环境中它会抛出如下错误,ActionView::Template::Error(noimplicitconversionofnilintoString)在View中,create_cv_url,:id=>"s3_uploader",:key=>"cv_uploads/{unique_id}/${filename}",:key_starts_with=>"cv_uploads/",:callback_param=>"cv[direct_uplo
我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm
您如何在Rails中的实时服务器上进行有效调试,无论是在测试版/生产服务器上?我试过直接在服务器上修改文件,然后重启应用,但是修改好像没有生效,或者需要很长时间(缓存?)我也试过在本地做“脚本/服务器生产”,但是那很慢另一种选择是编码和部署,但效率很低。有人对他们如何有效地做到这一点有任何见解吗? 最佳答案 我会回答你的问题,即使我不同意这种热修补服务器代码的方式:)首先,你真的确定你已经重启了服务器吗?您可以通过跟踪日志文件来检查它。您更改的代码显示的View可能会被缓存。缓存页面位于tmp/cache文件夹下。您可以尝试手动删除
当我使用has_one时,它工作得很好,但在has_many上却不行。在这里您可以看到object_id不同,因为它运行了另一个SQL来再次获取它。ruby-1.9.2-p290:001>e=Employee.create(name:'rafael',active:false)ruby-1.9.2-p290:002>b=Badge.create(number:1,employee:e)ruby-1.9.2-p290:003>a=Address.create(street:"123MarketSt",city:"SanDiego",employee:e)ruby-1.9.2-p290
require"socket"server="irc.rizon.net"port="6667"nick="RubyIRCBot"channel="#0x40"s=TCPSocket.open(server,port)s.print("USERTesting",0)s.print("NICK#{nick}",0)s.print("JOIN#{channel}",0)这个IRC机器人没有连接到IRC服务器,我做错了什么? 最佳答案 失败并显示此消息::irc.shakeababy.net461*USER:Notenoughparame
我正在使用带有Rails的Devise,我想添加一个方法“getAllComments”,所以我这样写:classUser在我的Controller中:defdashboard@user=current_user@comments=@user.getAllComments();end当我访问我的url时,我得到了undefinedmethod`getAllComments'for#我做错了什么?谢谢 最佳答案 因为getAllComments是一个类方法,而您正试图将其作为实例方法访问。您要么需要访问它:User.getAllCom
我有一个使用PDFKit呈现网页的pdf版本的Rails应用程序。我使用Thin作为开发服务器。问题是当我处于开发模式时。当我使用“bundleexecrailss”启动我的服务器并尝试呈现任何PDF时,整个过程会陷入僵局,因为当您呈现PDF时,会向服务器请求一些额外的资源,如图像和css,看起来只有一个线程.如何配置Rails开发服务器以运行多个工作线程?非常感谢。 最佳答案 我找到的最简单的解决方案是unicorn.geminstallunicorn创建一个unicorn.conf:worker_processes3然后使用它: