• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C#TCP/IP初探

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

/*以下内容来自:http://www.luyikk.com/topic-11961.aspx
仅用于学习研究*/

很久以前就一直想玩P2P做一些商用的应用软件

早前没有C#,或者.NET的时候,我可以用VB6 采用 winsock来开发一些应用软件.

距离VB6那个时候已经有近 5年没有玩过了.

这几日开了VS2005来玩C#. 翻无数贴子,均不能成功实现C S 之间的通讯.

不是死机,就是到处有错.

经过俺几天几夜不眠不休的认真研究,最终研究得成正果,小小的爽了一把.

为了俺们大中华民族的未来软件产业的发展壮大,俺不敢私藏心得体会,

特此奉献如下, 有钱的打发几个小钱,没钱的捧个人场哈.大牛和大虾就当看猴戏撒.

废话少说,开场喽

---------------------------------------------------------------------------------------------------------------------------

我是独立二个项目来研究CS端,命名为Server 和 Client

如下图乱放:

 上面这个图是S端的鸟样

这个是C端界面

//下面是代码部分:

-------------------------------------------------------------------------------------------------------------------

//client:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Net.Sockets;
using System.Threading;

namespace Client


代码部分完成了.

现在开始口水了,主要对Server 端进行胡扯,C端没有什么好说的,非常的简单明了.S端涉及到多线程,界面线程管理.现在说几点要注意的

1:中文乱码, 大家别抄书上的代码,用Encoding.ASCII 是不对的,最好用Encoding.Default

2:如果你的程序没有响应,半死状态,那是因为程序运行到listener.AcceptTcpClient();的时候一直在等待C端的数据.阻塞住了,有人说,会这个状态才是最正常的,此话不错. 所以碰到这个问题,不要相信垃圾书啦. 采用多线程

3:线程在form1的时候要装载即

        public Form1()
        {
            InitializeComponent();
            Control.CheckForIllegalCrossThreadCalls = false;
            start = new ThreadStart(startListen);
            listenThread = new Thread(start);  
        }

Control.CheckForIllegalCrossThreadCalls 这一行是为了可以在线程里直接控制S上面的TEXTBOX控件

如果不用这一行,会报"线程间错误"

startListen 是有消息的时候,线程调用的子程序.

就这几个要注意的. 希望大家可以一步调试成功,不要走太多的冤枉路.

启动 server.exe  和 client.exe  从C发送消息,S端会显示收到的消息.

表示成功.

只要这CS能正常通讯,那么其他的你想干什么就干什么了.不用我说了吧?哈哈!


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap