解决方案 »
- VS2012里你还用代码协定吗?
- 想做个自动登录网易邮箱的小程序c#
- 想作一个像QQ邮箱里的自动上传剪切板里的图片的输入框,如何作?
- **************C#的朋友们,对C#中的属性你了解多少**********************
- 高手帮忙,winform的datagrid怎么添加一列选定控件,可以多选然后对选定行操作。多谢!
- 如何屏蔽地图控件上的滚轮事件
- 现在想学习反射,MSDN上的资料讲的又不太详细,请各位给点资料?
- 求助,怎么关闭DevExpress的欢迎页
- C# Winform 关于ListView的问题
- 征集书稿
- C# Winform项目中,实现在webbrowser控件模拟登录OA办公系统
- c#创建桌面快捷方式
你应该设置ReadTimeOut,让它超时就抛个异常,而不是永远阻塞在Read方法里
唉,小火囝,TCP不是这么玩地。建议你看看这文章
http://www.cnblogs.com/xiaozhi_5638/p/4244797.html
NetworkStream streamToServer = tcp.GetStream();
StreamWriter sw = new StreamWriter(ns);
StreamReader sr = new StreamReader(ns);sw.WriteLine(WeightQuest, 0, WeightQuest.Length);
sw.Flush();//一定要FlushTextBox1.Text = sr.ReadLine();
NetworkStream streamToServer = tcp.GetStream();
StreamWriter sw = new StreamWriter(ns);
StreamReader sr = new StreamReader(ns);sw.WriteLine(“此处为你要写入的内容”);
sw.Flush();//一定要FlushTextBox1.Text = sr.ReadLine();
我发送的数据是把"S"转换成了字节数组形式后再发送的,跟telnet发送的命令一样。另外我设置了ReadTimeOut之后,返回给我的错误信息是:由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
public static Byte[] WeightQuest = System.Text.Encoding.UTF8.GetBytes("S");我的这个服务器,开始只有com1端口是RS232的后来给改成的以太网形式的。不知道跟这有没有关系。请指教,谢谢
你确定你的 Telenet 默认的字符编码是 utf8 吗?
你打入S之后没有碰任何键(例如敲一下回车键)吗?
我加了这条streamToServer.Flush();,也还是不行
你确定你的 Telenet 默认的字符编码是 utf8 吗?
你打入S之后没有碰任何键(例如敲一下回车键)吗?
敲回车键了,那我发送的数据就要是 S和回车键?是这样吧
你确定你的 Telenet 默认的字符编码是 utf8 吗?
你打入S之后没有碰任何键(例如敲一下回车键)吗?
TcpClient tcp = new TcpClient();
try
{
tcp.Connect(WwendPoint1);
}
catch (Exception ex)
{
Response.Write(ex);
} if (tcp.Connected)
{
NetworkStream streamToServer = tcp.GetStream();
byte[] WeightQuest = { 83,13 }; //"S"对应83 回车键对应13
streamToServer.Write(WeightQuest, 0, WeightQuest.Length);
byte[] weightGet = new byte[16];
streamToServer.Flush();
streamToServer.ReadTimeout = 5000;
streamToServer.Read(weightGet, 0, weightGet.Length);
float weight = DoWeightData(weightGet);
TextBox1.Text = weight.ToString();
}
tcp.Close();
发送的数据中我添加了回车键,发送之后还是不行。还有就是请问我怎么判断我的telnet的编码格式呢?