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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 许大虾 于 2013-6-19 22:17 编辑


源码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using System.Net;//包含IP,IPAdress,IPEndPoint(ip和端口)类
using System.Net.Sockets;//导入套接字
using System.Threading;
namespace MyCharRoomServer
{
    public partial class FChatServer : Form
    {
        public FChatServer()
        {
            InitializeComponent();
        }
        Thread threadWatch = null;//负责监听客户端连接请求的线程
        Socket socketWatch = null;//负责监听的套接字
        private void btnBeginListem_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;//设置为后台线程
            threadWatch.Start();//开启线程

            ShowMsg("服务器启动监听成功!");
            //socketWatch.Bind
            //IPEndPoint
        }
        void WatchConnecting()
        {
            //开始监听客户端连接请求,注意:Accept方法,会阻断当前的线程!
            Socket sokConnetion = socketWatch.Accept();
            ShowMsg("客户端连接成功!");   
        }
        void ShowMsg(string msg)
        {
            txtMsg.AppendText(msg + "\r\n");
        }
    }
}

7 个回复

倒序浏览
socketWatch在哪初始化的呢
回复 使用道具 举报
1.使用new关键字创建对象实例。2.在调用方法前通过检查确定对象是否为null.
回复 使用道具 举报
把全部源码发出来。
回复 使用道具 举报
代码被错误窗口挡住了  能看看后面的吗?
回复 使用道具 举报
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`
回复 使用道具 举报
socketWatch先初始化如: socketWatch = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

点评

不是那问题  发表于 2013-6-19 22:16
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马