C#基于Socket客户端实现

 
打开VS2008,建立名为SocketClient的Windows应用程序。
打开工程,往当前窗体中添加控件,如表所示。

添加控件列表
控件名  Name  Text
GroupBox groupBox1 向服务器发送消息
Label  label1  发送消息:
TextBox  textBox1 
Button  button2  发送
ListBox  lbInfo
GroupBox groupBox1 服务器回馈信息
 
客户端的设计主要分为以下步骤。

(1)首先要做的工作还是要引用一些命名空间,如下所示。

using System.IO;

using System.Net.Sockets;

using System.Net;

然后定义一系列的全局变量,如下所示。

private Socket s; //定义Socket对象         

public NetworkStream ns;//网络流

public StreamReader sr; //流读取

public StreamWriter sw; //流写入

(2)双击“发送”按钮,添加如下代码。

s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

serverIP = IPAddress.Parse("222.18.142.171");  //服务器IP

try

{

  s.Connect(serverIP, 13); //连接服务器,端口号用13

}

catch (Exception ex)

{

  MessageBox.Show(ex.Message);

}

try

{

  ns = new NetworkStream(s); //实例化网络流

  sr = new StreamReader(ns); //实例化流读取对象

  sw = new StreamWriter(ns); //实例化写入流对象

  sw.WriteLine(textBox1.Text); //将textBox1.Text的数据写入流

  sw.Flush(); //清理缓冲区

  lbInfo.Items.Add(sr.ReadLine()); //将从流中读取的数据写入lbInfo

}

catch (Exception ex)

{

  MessageBox.Show(ex.Message); //捕获异常

}

(3)最后关闭Socket连接,释放资源,可以直接在窗体的FormClosed事件中进行,如下所示。

s.Shutdown(SocketShutdown.Both);

s.Close();

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭