没有合适的资源?快使用搜索试试~ 我知道了~
C_中Socket多线程编程实例,能够快速的教你如何在C下做socket编程
资源推荐
资源详情
资源评论
//客户端form
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;
namespace TCPClient
{
public partial class ClientForm : Form
{
private P2PClient ClientObj = new P2PClient();// 客户端
对象
public ClientForm()
{
InitializeComponent();
}
private void ClientForm_Load(object sender, EventArgs e)
{
bntSend.Enabled = false;//没有连接不允许发送数据
// this.AcceptButton = bntSend;
button1.Enabled = false;//没有连接,不能断开
}
private void btnConnect_Click(object sender, EventArgs e)
{
string nickName = tbName.Text;
string ip = tbIP.Text;
string port = tbPort.Text;
if (string.IsNullOrEmpty(nickName) ||
string.IsNullOrEmpty(ip) || string.IsNullOrEmpty(port)) {
MessageBox.Show("请将昵称,ip填写完整");
return;
}
try
{
ClientObj.SendConnection(ip, Convert.ToInt32(port));//
连接
//订阅事件的处理方法
ClientObj.receiveEvent += new
P2PClient.receiveDelegate(ClientObj_receiveEvent);
ClientObj.Send(tbName.Text+"***"+"登陆成功!**
*"+ DateTime.Now.ToString());
bntSend.Enabled = true;
btnConnect.Enabled = false;
button1.Enabled = true;//连接后才能断开连接
}
catch(Exception ex)
{
MessageBox.Show("连接时出错:"+ex.Message);
return;
}
}
void ClientObj_receiveEvent(string receiveData)
{
try
{
if (this.InvokeRequired)//指示是否需要在这个线程
上调用方法
{ //当把消息传递给控件线程时重复调用该方法;
就会调用else
P2PClient.receiveDelegate update = new
P2PClient.receiveDelegate(ClientObj_receiveEvent);
this.Invoke(update, new object[] { receiveData });//
将消息发送给控件线程处理
}
else
{
lbMessage.Items.Add(receiveData);//添加数据
}
}catch(Exception ex){
MessageBox.Show("接收数据错误:"+ex.Message);
return;
}
}
private void bntSend_Click(object sender, EventArgs e)
{
try
{
if(string.IsNullOrEmpty(tbMessage.Text)){
return;
}
ClientObj.Send(tbName.Text+"说: "+tbMessage.Text
+" "+ DateTime.Now .ToString());//发送信息
tbMessage.Clear();//清除原来的文本
}catch(Exception ex){
MessageBox.Show("发送数据出错"+ex.Message);
return;
}
}
private void button1_Click(object sender, EventArgs e)
{
if (MessageBox.Show("确定要断开连接吗", "提示",
剩余21页未读,继续阅读
资源评论
fattershall
- 粉丝: 2
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功