资源简介
即时通信.zip

代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace New_QQ
{
public partial class Form1 : Form
{
private static IPAddress clientIP;
public static IPEndPoint clientIPEndPoint;
private static UdpClient receiveUdpClient;
private static IPEndPoint remoteIpEndPoint;
private static IPEndPoint serverIpEndPoint;
private static TcpClient tcpClient;
public static UdpClient sendUdpClient;
public static UdpClient chatClient;
private static string userListstring;
private static BinaryReader binaryReader;
private static NetworkStream networkStream;
private static Thread receiveThread;
private static Thread sendThread;
public Form1()
{
Control.CheckForIllegalCrossThreadCalls = false;
InitializeComponent();
}
private void button1_Click(object sender EventArgs e)
{
//创建接受套接字
clientIP = IPAddress.Parse(txtLocalIP.Text);
clientIPEndPoint = new IPEndPoint(clientIP int.Parse(txtlocalport.Text));
serverIpEndPoint=new IPEndPoint(IPAddress.Parse(txtserverIP.Text)int.Parse(txtServerPort.Text) );
receiveUdpClient = new UdpClient(clientIPEndPoint);
//启动接受线程
receiveThread = new Thread(ReceiveMessage);
receiveThread.Start();
//匿名发送
sendUdpClient = new UdpClient(0);
//启动发送线程
sendThread = new Thread(SendMessage);
sendThread.Start(string.Format(“login{0}{1}“ txtusername.Text clientIPEndPoint));
button1.Enabled = false;
this.Text = txtusername.Text;
button2.Enabled = true;
this.ControlBox = false;
}
private void ReceiveMessage()
{
remoteIpEndPoint = new IPEndPoint(IPAddress.Any 0);
while (true)
{
try
{
//关闭receiveUdpClient时会产生异常
byte[] receiveBytes = receiveUdpClient.Receive(ref remoteIpEndPoint);
string message = Encoding.Unicode.GetString(receiveBytes 0 receiveBytes.Length);
//处理消息
string[] splitstring = message.Split(‘‘);
switch (splitstring[0])
{
case “Accept“:
try
{
tcpClient = new TcpClient();
tcpClient.Connect(remoteIpEndPoint.Address int.Parse(txtServerPort.Text));
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 187 2016-11-10 21:22 New QQ\App.config
文件 12800 2016-11-11 21:57 New QQ\bin\Debug\New QQ.exe
文件 187 2016-11-10 21:22 New QQ\bin\Debug\New QQ.exe.config
文件 26112 2016-11-11 21:57 New QQ\bin\Debug\New QQ.pdb
文件 23168 2016-11-11 21:58 New QQ\bin\Debug\New QQ.vshost.exe
文件 187 2016-11-10 21:22 New QQ\bin\Debug\New QQ.vshost.exe.config
文件 490 2010-03-17 22:39 New QQ\bin\Debug\New QQ.vshost.exe.manifest
文件 6005 2016-11-11 21:57 New QQ\Form1.cs
文件 8431 2016-11-11 21:57 New QQ\Form1.Designer.cs
文件 5817 2016-11-11 21:57 New QQ\Form1.resx
文件 3792 2016-11-10 22:25 New QQ\New QQ.csproj
文件 1453 2016-11-11 21:01 New QQ\obj\Debug\DesignTimeResolveAssemblyReferences.cache
文件 6923 2016-11-10 21:32 New QQ\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
文件 573 2016-11-11 22:08 New QQ\obj\Debug\New QQ.csproj.FileListAbsolute.txt
文件 977 2016-11-11 21:57 New QQ\obj\Debug\New QQ.csproj.GenerateResource.Cache
文件 2211 2016-11-10 22:25 New QQ\obj\Debug\New QQ.csprojResolveAssemblyReference.cache
文件 12800 2016-11-11 21:57 New QQ\obj\Debug\New QQ.exe
文件 26112 2016-11-11 21:57 New QQ\obj\Debug\New QQ.pdb
文件 180 2016-11-11 21:57 New QQ\obj\Debug\New_QQ.Form1.resources
文件 180 2016-11-10 22:25 New QQ\obj\Debug\New_QQ.Properties.Resources.resources
文件 0 2016-11-10 21:23 New QQ\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
文件 0 2016-11-10 21:23 New QQ\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
文件 0 2016-11-10 21:23 New QQ\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
文件 529 2016-11-10 21:23 New QQ\Program.cs
文件 1442 2016-11-10 21:23 New QQ\Properties\AssemblyInfo.cs
文件 2842 2016-11-10 21:23 New QQ\Properties\Resources.Designer.cs
文件 5612 2016-11-10 21:22 New QQ\Properties\Resources.resx
文件 1093 2016-11-10 21:23 New QQ\Properties\Settings.Designer.cs
文件 249 2016-11-10 21:22 New QQ\Properties\Settings.settings
目录 0 2016-11-10 21:23 New QQ\obj\Debug\TempPE
............此处省略10个文件信息
- 上一篇:用遗传算法解决TSP问题
- 下一篇:EDA课程设计-电子密码锁.zip
相关资源
- 价值2k的H漫画小说系统
- Pythonamp;课堂amp;笔记(高淇amp;400;集第
- ddos压力测试工具99657
- UML建模大全
- 开源1A锂电池充电板TP4056原理图+PCB
- m1卡 ic卡可选择扇区初始化加密软件
- TSCC.exe
- FTP课程设计(服务端+客户端)
- 计算机图形学 边填充算法实现代码
- 电力系统潮流计算程序集合
- oracle数据迁移项目实施方案
- Web Api 通过文件流 文件到本地
- Visio图标-最新最全的网络通信图标库
- Spire API文档
- OpenGL参考手册
- Python中Numpy库最新教程
- SPD博士V5.3.exe
- 直流无刷电机方波驱动 stm32 例程代码
- layui后台管理模板
- 仿知乎界面小程序源代码
- 云平台-阿里云详细介绍
- photoshop经典1000例
- scratch垃圾分类源码(最终版本).sb
- IAR ARM 7.8破解
- TI CCS V5.4 安装步骤及破解文件
- 松下plc FP-XH的驱动
- 局域网硬件信息收集工具
- 加快Windows XP操作系统开机速度
- 联想启天M4350 BIOS升级文件
- 操作系统教程课后答案华中科技大学
评论
共有 条评论