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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 蓝汝逸 黑马帝   /  2012-3-25 21:14  /  2999 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 蓝汝逸 于 2012-3-30 18:47 编辑

聊天程序服务器端分享下代码,看有没有错误!


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;
using System.Net.Sockets;

namespace socket
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnbeginlisten_Click(object sender, EventArgs e)
        {
            Socket socketwatch = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            IPAddress address = IPAddress.Parse(txtip.Text.Trim());
            IPEndPoint endpoint=new IPEndPoint(address,int.Parse(txtport.Text.Trim()));
            socketwatch.Bind(endpoint);
            socketwatch.Listen(10);
           Socket sokconnection=socketwatch.Accept();
            showmsg("客户端连接成功!");
         
            
            
           
           

        }
        void showmsg(string msg)
        {
            txtmsg.AppendText(msg + "\r\n");
        }
    }
}

评分

参与人数 1技术分 +3 收起 理由
郑文 + 3

查看全部评分

2 个回复

倒序浏览
本帖最后由 蔡纯富 于 2012-3-25 21:26 编辑

代码到是对的,不过这个是在主线程上运行的,启动程序运行之后将窗口将会不能移动,因为没有接收到客户端的连接请求;
应该new一个线程,并且设置为后台线程一直监听客户端发来的请求;
只有当接到请求之后才showmsg("客户端连接成功!");

评分

参与人数 1技术分 +2 收起 理由
郑文 + 2

查看全部评分

回复 使用道具 举报
蔡纯富 发表于 2012-3-25 21:25
代码到是对的,不过这个是在主线程上运行的,启动程序运行之后将窗口将会不能移动,因为没有接收到客户端的 ...

:)嗯嗯!我也发现了!正在修改!!谢啦!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马