TCP实现内网连接到外网,外网发送数据给内网的例子
来源:互联网 发布:mac mini顶配 编辑:程序博客网 时间:2024/05/16 10:47
客户端代码:
内网用TCP与外网进行链接,外网收到消息后转回此消息,彼此互相通信
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.Sockets;
using System.Net;
using System.Threading;
namespace mytcpchat
{
public partial class Form1 : Form
{
Socket c;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
public void Client(IPEndPoint ServerIPEP)
{
try
{
c = new Socket(ServerIPEP.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
c.Connect((EndPoint)ServerIPEP);
c.Send(System.Text.Encoding.Default.GetBytes("这是一个测试消息"));
byte[] data = new byte[2048];
int rect = c.Receive(data);
byte[] chat = new byte[rect];
Buffer.BlockCopy(data, 0, chat, 0, rect);
MessageBox.Show(System.Text.Encoding.Default.GetString(chat));
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void button1_Click(object sender, EventArgs e)
{
Client(new IPEndPoint(IPAddress.Parse("220.194.57.122"), 5566));
}
}
}
服务端例子:
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.Sockets;
using System.Net;
using System.Threading;
namespace mytcpserver
{
public partial class Form1 : Form
{
Socket s;
IPEndPoint ServerIPEP;
public Form1()
{
InitializeComponent();
}
public void Server(int port)
{
ServerIPEP = new IPEndPoint(IPAddress.Any, port);
s = new Socket(ServerIPEP.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
s.Bind((EndPoint)ServerIPEP);
s.Listen(10);
while (true)
{
Socket uc = s.Accept();
byte[] data = new byte[2048] ;
int rect = uc.Receive(data);
byte[] chat = new byte[rect] ;
Buffer.BlockCopy(data, 0, chat, 0, rect);
MessageBox.Show("接收到来及客户端的消息"+uc.RemoteEndPoint.ToString()+System.Text.Encoding.Default.GetString(chat));
uc.Send(chat);
}
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
Server(5566);
}
}
}
- TCP实现内网连接到外网,外网发送数据给内网的例子
- 简单实现服务器tcp内网穿透
- 阿里云数据库开通内网连接后,外网访问连接内网数据库的实现
- 内网连接检测
- vpn连接内网
- 如何访问内网的TCP服务端
- 【黑马程序员】Socket编程实现内网连接的问题
- 【mysql】mysql的内连接和外连接小例子
- mysql的内连接和外连接小例子
- mysql的内连接和外连接小例子
- 连接内网的几种模式
- p2p技术之tcp内网穿透 java实现版
- 内网穿透 TCP打洞 【c语言实现】
- p2p技术之tcp内网穿透 java实现版
- 远程控制桌面,手机外网远程桌面连接内网的实现过程,详细图文并茂
- 内连接 例子 旧
- 内网如何连接外网,注意!!
- UDP内网和外网连接通信的问题
- C#模拟死锁问题
- VB精编:编写高质量的VB代码
- 配置Tomcat5.5.4数据库连接池
- Normal IOCP 的使用
- 利用Ajax实现DataGrid无刷新分页
- TCP实现内网连接到外网,外网发送数据给内网的例子
- spring 问题
- 问君能有几多愁
- 编程日志[2007-03-28]
- copyFile
- 用 Spring 更好地处理 Struts 动作三种整合 Struts 应用程序与 Spring 的方式
- 检验码无效!
- hibernate的not-found="ignore"
- 哈哈~!先把家建立起.等空了就搬家到这里了~!