C#基于Socket客户端实现

本文介绍了如何使用C#在VS2008中创建一个Socket客户端应用。首先引用必要的命名空间,然后定义Socket对象及相关流变量。接着,通过点击‘发送’按钮连接到指定服务器并发送TextBox中的消息。如果连接成功,会显示服务器的回馈信息。最后,关闭Socket连接以释放资源。
摘要由CSDN通过智能技术生成

 
打开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();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值