【黑马程序员】Socket编程实现内网连接的问题
2013-09-24 21:32
375 查看
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流!
----------------------
利用Socket编程实现内网的客户端和服务端的连接时出现了一个问题。主界面如图所示:
点击启动服务按钮,执行的主要代码如下:
程序运行结果却是报错了,如下图:
报错信息说,请求的地址无效。这是什么原因呢?根据字面意思是IP地址出错了,可这个地址就是本机的IP地址啊。查了半天,原来我给的那个IP地址是联网时的IP地址,根本就不是本机的内网IP。按下“Windows+R”键,输入cmd打开命令窗口,在窗口中输入ipconfig命令,查询本机的IP(也就是ipv4)。纠正后,重新启动程序,再在命令窗口中连接这个服务程序。结果如图所示:
上网搜了一下,原来Windows7不会自动安装运行Telnet服务,所以我们需要手动打开Telnet服务。打开控制面板,打开“程序”,并点击“打开或关闭Windows功能”,勾选“Telnet客户端”就可以了,如下图所示:
点击确定按钮,启动Telnet服务。再运行程序,点击启动服务按钮,我们可以发现窗体无法移动,因为当前主线程被占用,正在等待和监听客户端的连接请求。我们在“命令窗口”里面输入以下命令:telnet 10.12.10.99 1000,然后这个程序就可以从客户端正常连接了。如图所示:
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流!
----------------------
----------------------
利用Socket编程实现内网的客户端和服务端的连接时出现了一个问题。主界面如图所示:
点击启动服务按钮,执行的主要代码如下:
private void btnBeginListen_Click(object sender, EventArgs e) { //创建服务器端负责监听的套接字,参数(使用IP4寻址协议,使用流式连接,使用TCP协议传输数据) Socket listenSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); //用文本框中的IP地址创建一个IP地址对象IPAddress IPAddress address = IPAddress.Parse(txtIP.Text.Trim()); //创建一个包含IP地址和端口的网络节点对象 IPEndPoint endpoint = new IPEndPoint(address, int.Parse(txtPort.Text.Trim())); //把网络节点对象绑定到负责监听的Socket上 listenSocket.Bind(endpoint); //设置监听队列的长度,也就是当前可以同时监听的请求次数 listenSocket.Listen(10); //开始监听客户端的连接请求 Socket connSocket = listenSocket.Accept(); ShowMsg("客户端连接成功!"); } private void ShowMsg(string message) { txtShow.Text = message + "\r\n"; }
程序运行结果却是报错了,如下图:
报错信息说,请求的地址无效。这是什么原因呢?根据字面意思是IP地址出错了,可这个地址就是本机的IP地址啊。查了半天,原来我给的那个IP地址是联网时的IP地址,根本就不是本机的内网IP。按下“Windows+R”键,输入cmd打开命令窗口,在窗口中输入ipconfig命令,查询本机的IP(也就是ipv4)。纠正后,重新启动程序,再在命令窗口中连接这个服务程序。结果如图所示:
上网搜了一下,原来Windows7不会自动安装运行Telnet服务,所以我们需要手动打开Telnet服务。打开控制面板,打开“程序”,并点击“打开或关闭Windows功能”,勾选“Telnet客户端”就可以了,如下图所示:
点击确定按钮,启动Telnet服务。再运行程序,点击启动服务按钮,我们可以发现窗体无法移动,因为当前主线程被占用,正在等待和监听客户端的连接请求。我们在“命令窗口”里面输入以下命令:telnet 10.12.10.99 1000,然后这个程序就可以从客户端正常连接了。如图所示:
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流!
----------------------
相关文章推荐
- 黑马程序员——if、switch、while、for
- 黑马程序员------java5的枚举(枚举的原理、枚举的应用)
- 头文件string与string.h的区别
- 怎样准备软件工程师的面试
- 为程序员准备的7个社交网站
- DLL入门浅析(1)——如何建立DLL
- 黑马程序员------java5的一些简单新特性(静态导入、可变参数、增强for循环、自动拆箱装箱及享元)
- 黑马程序员-JavaBean
- 十五个只有程序员会乐的事情
- 面试题
- 2014腾讯校招面试之一总结
- 初次面试必须搞定的面试题
- 一道网易面试题的解法
- 阿里巴巴面试题
- 一道面试题
- 应聘面试自我介绍范文
- 黑马程序员-计算字符串中每种字符出现的次数
- 找程序员做老公的十大好处
- 关于排列组合的经典面试题目
- 黑马程序员-动态代理