资源简介
基于C#的TCP/IP协议客户端和服务器的代码实现,全代码附上,还有部分关键代码的解释
代码片段和文件信息
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.Sockets;//TcpClient类与TcpListener类是两个专门用于TCP协议编程的类
using System.Net; //利用TcpClient类提供的方法,可以通过网络进行连接、发送和接收网络数据流
//using System.Timers;
using System.Threading;
using System.IO;
namespace tcpclient
{
public partial class client : Form
{
private string ipadd = “127.0.0.1“;//默认本地;
private int port=5555;
TcpClient _client;
NetworkStream ns = null;
private StreamReader strReader;
private StreamWriter strWriter;
private Thread recvthread = null;//接收信息线程
private Thread sendthread = null;//发送信息线程
private Thread serverthread = null;//服务线程
bool tag = true;//设置标志位,标志是否接收数据当断开连接的时候,tag=false,表示不接收数据
private void Connection() //连接服务器的方法
{
try
{
IPAddress ipaddress = IPAddress.Parse(textBox1.Text);
ipadd = Convert.ToString(ipaddress);
port = Convert.ToInt32(textBox2.Text);
//richTextBox2.Text = “Try to connect to “ + ipaddress + “:“ + port + “...\n“;
_client = new TcpClient(ipadd port);
ns = _client.GetStream();//返回用于发送和接收的数据流
strReader = new StreamReader(ns);
strWriter = new StreamWriter(ns);
recvthread = new Thread(new ThreadStart(recvdata)); //创建接收信息线程,并启动
recvthread.Start();
//richTextBox2.Text += “------与主机“ + ipaddress + “:“ + port + “建立连接----\n“;
richTextBox2.Text += “------与服务器建立连接------\n“;
//ns.Close();
//client.Close();
//获取本地的IP和本地端口
IPEndPoint localIEP = (IPEndPoint)_client.Client.LocalEndPoint;
//MessageBox.Show(localIEP.Address.ToString());//本地IP
label3.Text = “本地端口:“ + localIEP.Port.ToString() + ““;//本地端口
label4.Text = “本地IP:“ + localIEP.Address.ToString() + ““;//本地端口
button1.Enabled = false;
button2.Enabled = true;
send.Enabled = true;
tag = true;
textBox1.Enabled = false;
textBox2.Enabled = false;
}
catch (Exception e)
{
//MessageBox.Show(“连接目标主机被拒绝“);
//richTextBox2.Text += “连接目标主机被拒绝\n“;
//MessageBox.Show(e.Message “提示“);
Console.WriteLine(e);
}
}
private void recvdata() //接收数据
{
byte[] bytes = new byte[1024];
//int bytesRead = ns.Read(bytes 0 bytes.Length);//接收从服务器返回的信息
int bytesRead;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 13312 2014-01-03 11:25 tcp协议\tcpclient\tcpclient\tcpclient\bin\Debug\tcpclient.exe
文件 28160 2014-01-03 11:25 tcp协议\tcpclient\tcpclient\tcpclient\bin\Debug\tcpclient.pdb
文件 14328 2014-02-22 14:51 tcp协议\tcpclient\tcpclient\tcpclient\bin\Debug\tcpclient.vshost.exe
文件 490 2009-06-11 05:14 tcp协议\tcpclient\tcpclient\tcpclient\bin\Debug\tcpclient.vshost.exe.manifest
文件 8329 2014-01-03 11:26 tcp协议\tcpclient\tcpclient\tcpclient\Form1.cs
文件 8789 2013-11-28 09:44 tcp协议\tcpclient\tcpclient\tcpclient\Form1.Designer.cs
文件 5814 2013-11-28 09:44 tcp协议\tcpclient\tcpclient\tcpclient\Form1.resx
文件 180 2013-11-28 09:44 tcp协议\tcpclient\tcpclient\tcpclient\obj\Debug\tcpclient.client.resources
文件 763 2014-02-22 14:51 tcp协议\tcpclient\tcpclient\tcpclient\obj\Debug\tcpclient.csproj.FileListAbsolute.txt
文件 847 2013-11-28 09:44 tcp协议\tcpclient\tcpclient\tcpclient\obj\Debug\tcpclient.csproj.GenerateResource.Cache
文件 13312 2014-01-03 11:25 tcp协议\tcpclient\tcpclient\tcpclient\obj\Debug\tcpclient.exe
文件 28160 2014-01-03 11:25 tcp协议\tcpclient\tcpclient\tcpclient\obj\Debug\tcpclient.pdb
文件 180 2013-11-17 10:55 tcp协议\tcpclient\tcpclient\tcpclient\obj\Debug\tcpclient.Properties.Resources.resources
文件 493 2013-11-20 10:29 tcp协议\tcpclient\tcpclient\tcpclient\Program.cs
文件 1368 2013-11-17 10:11 tcp协议\tcpclient\tcpclient\tcpclient\Properties\AssemblyInfo.cs
文件 2868 2013-11-17 10:11 tcp协议\tcpclient\tcpclient\tcpclient\Properties\Resources.Designer.cs
文件 5612 2013-11-17 10:11 tcp协议\tcpclient\tcpclient\tcpclient\Properties\Resources.resx
文件 1094 2013-11-17 10:11 tcp协议\tcpclient\tcpclient\tcpclient\Properties\Settings.Designer.cs
文件 249 2013-11-17 10:11 tcp协议\tcpclient\tcpclient\tcpclient\Properties\Settings.settings
文件 3764 2013-11-17 10:55 tcp协议\tcpclient\tcpclient\tcpclient\tcpclient.csproj
文件 917 2013-11-17 10:11 tcp协议\tcpclient\tcpclient\tcpclient.sln
..A..H. 22016 2014-02-22 14:51 tcp协议\tcpclient\tcpclient\tcpclient.suo
文件 12800 2013-11-22 11:06 tcp协议\tcpclient\tcpclient - 副本\tcpclient\bin\Debug\tcpclient.exe
文件 24064 2013-11-22 11:06 tcp协议\tcpclient\tcpclient - 副本\tcpclient\bin\Debug\tcpclient.pdb
文件 14328 2013-11-25 10:35 tcp协议\tcpclient\tcpclient - 副本\tcpclient\bin\Debug\tcpclient.vshost.exe
文件 490 2009-06-11 05:14 tcp协议\tcpclient\tcpclient - 副本\tcpclient\bin\Debug\tcpclient.vshost.exe.manifest
文件 5199 2013-11-22 11:06 tcp协议\tcpclient\tcpclient - 副本\tcpclient\Form1.cs
文件 9211 2013-11-22 00:37 tcp协议\tcpclient\tcpclient - 副本\tcpclient\Form1.Designer.cs
文件 6008 2013-11-22 00:37 tcp协议\tcpclient\tcpclient - 副本\tcpclient\Form1.resx
文件 180 2013-11-22 10:28 tcp协议\tcpclient\tcpclient - 副本\tcpclient\obj\Debug\tcpclient.client.resources
............此处省略100个文件信息
相关资源
- C# 调用win32 api函数-user32.dll详细说明
- C# 调用BarTender打印条码DEMO
- 大型比赛竞赛抽签系统 可打印 c# vs
- C#编写的Gerber查看器
- lua C# .Net4.0 vs2010 LuaInterface
- C#十六进制编辑器
- 明华URF-35H读卡器 C#读写源码 为大家
- C#文件流读取CSV文件
- c#读写PDF文件sql
- C# winform Socket大文件传输
- c#车牌识别系统附30张测试图片
- 《C#面向对象程序设计》源代码(CS)
- 金旭亮《C#面向对象程序设计》教案
- 试题库管理系统毕业论文(C#)源程序
- 学校网站原代码(C#.NET)
- C#-数据库操作技术-员工管理系统
- c#web开发入门经典
- C#与Matlab混合编程的几种方式
- c# 开发与 mysql数据库实现的增删改查
- C#异步操作 异步查询数据库 异步处理
- Basler相机通过IO触发源码
- [源代码] 《领域驱动设计 (C# 2008 实
- 松下PLC与C#通讯串口调试入门教程.z
- USB 继电器控制器 LCUS-1 保证能用 c#
- C# AES加密解密小工具
- C#圆形按钮,非常漂亮动态~~
- [精]C#仿QQ右下角弹出提示框()
- C#进程间通信-共享内存代码
- 有史以来最简单的三层(C#)
- vb调用c#编写的串口DLL文件(vb源码
评论
共有 条评论