我发现DotRas是RAS的包装器。这就是我能用它做的事情
private void btnConnect_Click(object sender, EventArgs e)
{
RasDevice device = RasDevice.GetDeviceByName("ZTE Proprietary USB Modem", RasDeviceType.Modem);
if (device != null)
{
MessageBox.Show("Found "+device.Name.ToString()+device.DeviceType.ToString(), "hah!", MessageBoxButtons.OK);
}
else
{
MessageBox.Show("Device not found", "Error", MessageBoxButtons.OK);
}
this.rasPhoneBook1.Open();
RasEntry entry = RasEntry.CreateDialUpEntry("ZTE Proprietary USB Modem", "+880000000", device);
this.rasPhoneBook1.Entries.Add(entry);
this.rasDialer1.EntryName = "ZTE Proprietary USB Modem";
this.rasDialer1.PhoneBookPath = rasPhoneBook1.Path;
this.rasDialer1.DialAsync();
}
private void rasDialer1_StateChanged(object sender, StateChangedEventArgs e)
{
MessageBox.Show(e.State.ToString(), "Dial Status", MessageBoxButtons.OK);
}
private void rasDialer1_DialCompleted(object sender, DialCompletedEventArgs e)
{
if (e.Cancelled)
{
MessageBox.Show("Cancelled");
}
else if (e.TimedOut)
{
MessageBox.Show("Time out");
}
else if (e.Error != null)
{
MessageBox.Show(e.Error.ToString(),"Error");
}
else if (e.Connected)
{
MessageBox.Show("Connection successful!");
}
}
代码尝试拨打调制解调器,但显示以下错误消息:
"The remote computer did not respond. To make sure that the server can be reached,ping the remote computer."}
错误很严重:
else if (e.Error != null)
{
MessageBox.Show(e.Error.ToString(),"Error");
}
我正在尝试连接3g调制解调器并通过调制解调器发送和接收短信。我如何通过DotRas实现这一目标?是的我已经阅读了API文档并阅读了DOtRas官方网站上的discussions步骤,但我仍然迷失了。任何帮助将非常感激。谢谢。
答案 0 :(得分:2)
从文档中看,DotRas似乎只是用于建立RAS连接。您无需建立RAS连接即可发送&接收短信,只需在网络上注册。就个人而言,我会为此编写自己的代码,因为它并不太复杂,但有很多第三方库像gsmcomm处理SMS。
对于标准AT命令,请参阅www.3gpp.org的TS 27.005(sms)和27.007(一般AT命令)。 TS 27.005,第3.4节,处理接收消息。
(添加了对答案似乎有用的评论)。