摘要:
Server.java:源代码 import java.net.*;import java.io.*;public class Server { public Server() { BufferedReader br = null; PrintWriter pw = null; try { ServerSocket server = new ServerSocket(8888);//建立服务器端...
阅读全文
posted @ 2010-07-22 14:59
liufei
阅读(401)
推荐(0)
编辑
摘要:
这里线程模型是指winsock相关的线程模型设计。 在本软件的设计的过程中有些问题是涉及到winsock的问题,为了能够很好的设计线程模型,必须理解清楚socket的内部工作机制。为此,首先从外面开始分析。 一、为什么使用多线程 1、使用多线程是为了避免应用程序主界面在I/O操作中没有反应,出现假死机现象。 Socket是一种特殊的I/O,所以很可能会出现这种现象。例如发送数据,或者连接...
阅读全文
posted @ 2010-07-22 14:57
liufei
阅读(540)
推荐(0)
编辑
摘要:
1.服务端: 监听2.客户端: 连接Socket本身是一样的,客户端的是请求,服务端是响应,他们之间可以传递流。一个套接字: 客户端请求一个套接字: 服务端处理一个连接就是一对套接字联系: socket相当于流缓冲区,都通过各自socket来获取流中的数据。2端socket通过一条固定“电话线”进行通讯,即Client端选择跟哪台Server,哪个端口建立连接;作为Serv...
阅读全文
posted @ 2010-07-22 14:56
liufei
阅读(2470)
推荐(1)
编辑
摘要:
现象:服务器端等待客户断连接,当socket连接建立后,如果客户端异常断开,服务器会抛出异常,从而导致程序运行中断 目标:希望服务器一直等待连接,客户端中断后程序不退出,而客户端重新恢复后可以继续保持连接 代码: public class Receive { public static byte[] buffer= new byte[1024]; public static ManualReset...
阅读全文
posted @ 2010-07-22 14:56
liufei
阅读(1675)
推荐(0)
编辑
摘要:
服务器端程序using System;using System.Net;using System.Net.Sockets;using System.Text;namespace SocketServer{/// <summary>/// Class1 的摘要说明。/// </summary>class Class1{ /// <summary> /// 应用程序...
阅读全文
posted @ 2010-07-22 14:54
liufei
阅读(549)
推荐(0)
编辑
摘要:
这是服务器端:public partial class MainForm : Form { int Port = 8000; //创建监听对象 TcpListener listener = null; //定义一个委托 delegate void SetSaft(string text); ArrayList conList = new ArrayList(); //确定编码 Encoding U...
阅读全文
posted @ 2010-07-22 14:53
liufei
阅读(644)
推荐(0)
编辑
摘要:
Server:public partial class MainForm : Form { //这里的PonySocket.Helper是我自定义的类,其中类中有Socket类型,string类型的属性,表示客户端连接的项,byte[]类型的属性,表示接收到的消息 Dictionary<string,PonySocket.Helper> dicsoc = new Dictionary&...
阅读全文
posted @ 2010-07-22 14:51
liufei
阅读(1205)
推荐(1)
编辑