動態聯接庫問題(高手不要錯過了)
来源:互联网 发布:网络禁书小说40本名单 编辑:程序博客网 时间:2024/06/04 17:56
///客戶端代碼
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.Net.Sockets;
using System.IO;
using System.Threading;
using System.Runtime.InteropServices;
namespace DTClientDemo
{
public partial class Form1 : Form
{
TcpClient tcpc = null;
NetworkStream ns = null;
Thread td = null;
StreamReader sr = null;
StreamWriter sw = null;
//C#实现在局域网内两台电脑间的通讯
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
tcpc = new TcpClient("10.2.6.32", 3500); //端口必須和服務器匹配,實現聯接數據庫的操作,服務器此時必須開啟
ns = tcpc.GetStream(); //獲取網絡流對象
td = new Thread(new ThreadStart(Read));
td.Start();
label3.Text = "客戶端起動!";
}
private void Read()
{
while (true) //循環接收服務器發來的數據
{
sr = new StreamReader(ns);
textBox2.Text = sr.ReadLine(); // 服務器沒有數據發來的時候處輿中止狀態
}
}
private void button2_Click(object sender, EventArgs e)
{
sw = new StreamWriter(ns); //根據網絡流對象創見輸出
sw.WriteLine(textBox1.Text); //確定輸出數據
sw.Flush(); //實現數據傳送
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
try
{
tcpc.Close(); //釋放資源
ns.Close();
td.Abort();
sr.Close();
sw.Close();
}
catch { }
}
private void Form1_Load(object sender, EventArgs e)
{
}
}
}
//服務端代碼
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.Net.Sockets;
using System.IO;
using System.Threading;
using System.Runtime.InteropServices;
namespace DTServerDemo
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
TcpListener tcpl = null;
Socket sck = null;
NetworkStream ns = null;
Thread td = null;
StreamReader sr = null;
StreamWriter sw = null;
Int32 port = 3500;
IPAddress localAddr = IPAddress.Parse("10.2.6.32");
private void Form2_Load(object sender, EventArgs e)
{
tcpl = new TcpListener(localAddr, port);
td = new Thread(new ThreadStart(Listen));
}
private void Listen()
{
tcpl.Start();
sck = tcpl.AcceptSocket();
ns = new NetworkStream(sck);
while (true) //循環接收服務器發來的數據
{
sr = new StreamReader(ns);
textBox2.Text = sr.ReadLine(); // 服務器沒有數據發來的時候處輿中止狀態
}
}
private void button1_Click(object sender, EventArgs e)
{
td.Start();
label3.Text = "服務器起動!";
}
private void button2_Click(object sender, EventArgs e)
{
sw = new StreamWriter(ns); //根據網絡流對象創見輸出
sw.WriteLine(textBox1.Text); //確定輸出數據
sw.Flush(); //實現數據傳送
}
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
try
{
tcpl.Stop(); //釋放資源
sck.Close();
ns.Close();
td.Abort();
sw.Close();
sr.Close();
}
catch { }
}
}
}
這些代碼可以互相在局域網裡面傳送信息,但是我要是聯接到一個數據采集器(DT4000)上面就不可以了,DT4000:(IP:10.2.6.236 Port:4660),我ip 和 port也改成為DT4000的ip和port了。要使用動態聯接庫,如果哪位大俠可以解決,我把廠家具體VB寫的動態聯接庫和介紹發給他。我要改成使用C#寫. c#高手請進. 把你Emain流給我.
- 動態聯接庫問題(高手不要錯過了)
- 不要去做技术高手,只去做综合素质高手!
- 不要去做技术高手,只去做综合素质高手!
- 不要去做技术高手,只去做综合素质高手!(转载)
- 不要去做技术高手,只去做综合素质高手!(转载)
- Oracle高手必读,不要错过噢!
- Oracle高手必读,不要错过噢!
- 一点小经验,高手不要看
- Oracle高手必读,不要错过噢!
- STM32入门经历,高手不要进!
- 高手帮忙了
- 这里高手太多了
- arcgis 高手,谢了
- 不要辜负了自己
- 不要忘了看书
- 不要再下雪了!!!
- csdn不要再变来变去了
- 不要做技术了
- 硬盘接口
- 30年职场生涯感悟——前HP大中华区总裁孙振耀退休感言(转)
- Learn Spring in spring(四)
- 死地
- Asp.net 2.0 高级技巧大杂烩
- 動態聯接庫問題(高手不要錯過了)
- Java基础知识部分汇总
- 快速创建一个 Ruby 博客程序
- Java基础知识部分汇总
- Windows Embedded从入门到精通5月预告
- javaweb异常收集
- I/O流常用控制符
- 我要生病啦!!
- JSP中include指令和include行为的区别