A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 彭清贵 于 2013-2-4 03:02 编辑

今天在【ASP.NET≠拖控件!】-传智播客ASP.NET高手之路视频教程08_套接字_客户端连接服务器这个视频中,我照着老师的代码写的结果报错了下面发来大家瞧下我写的,新手别看了,

这是VS上的代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net.Sockets;
using System.Net;//IP,IPAdress,IPEndPoint(ip和端口)类
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Threading;
namespace mychatroomserver
{
    public partial class fchatserver : Form
    {
        public fchatserver()
        {
            InitializeComponent();
        }
        Thread threadWatch = null;//负责监听 客户端 连接请求的线程
        Socket socketWatch = null;//负责监听的 套接字

        private void btnlistien_Click(object sender, EventArgs e)
        {
            //创建服务端 负责监听的套接字,参数(使用IP4寻址协议,使用流式连接,使用TCP协议传输数据)
            Socket socketWatch = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            //获得文本框中的IP地址对象
            IPAddress address = IPAddress.Parse(txtIP.Text.Trim());
            //创建包含IP和PORT的网络节点对象
            IPEndPoint endpoint = new IPEndPoint(address, int.Parse(txtPORT.Text.Trim()));
            //将负责监听的套接字绑定到唯一的IP和端口上
            socketWatch.Bind(endpoint);
            //设置监听队列的长度
            socketWatch.Listen(10);
            //创建 负责监听的线程,并传入监听方法
            threadWatch = new Thread(WatchConnecting);
            threadWatch.IsBackground = true;//设置为后台进程
            ShowMsg("服务器启动监听成功");//开启线程
        }
        void WatchConnecting()
        {
            //开始监听 客户端 连接请求 注意:Accept方法会阻断当前的线程!
            Socket sokConnection=socketWatch.Accept();
           ShowMsg("客户端连接成功!");

        }
        void ShowMsg(string msg)
        {
            txtMsg.AppendText(msg + "\r\n");
        }
    }
}

下面是窗口程序截图

我是照着老师画瓢的
结果一运行出现如此异常



这是为什么,我那都照着看了几篇,现在卡在这儿学不上去了 晕乎了 求解

评分

参与人数 1技术分 +1 收起 理由
潘梦军 + 1

查看全部评分

1 个回复

倒序浏览
本帖最后由 王立 于 2013-2-5 19:50 编辑

应该是ip地址绑定问题,我的用192.168.1.100可以,改成192.168.1.101就提示和你一样的错误了   在其上下文中,该请求的地址无效。你去百度搜索一下
网上的答案  
路由配置的问题。
打开192.168.0.1,进入高级选项,选择端口转发,发现ip地址对应的端口5000,ip不是不是本机ip,于是改成本机ip重启!Done!
http://www.baidu.com/s?wd=%D4%DA%C6%E4%C9%CF%CF%C2%CE%C4%D6%D0%A3%AC%B8%C3%C7%EB%C7%F3%B5%C4%B5%D8%D6%B7%CE%DE%D0%A7%A1%A3
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马