[置顶] 【C#】 Socket通讯客户端程序
摘要:这段时间一直在优化Socket通讯这块,经常和Socket打交道,现在分享给大家一个小的案例,代码如下:byte[] m_dataBuffer = new byte [10]; IAsyncResult m_result; public AsyncCallback m_pfnCallBack ; private System.Windows.Forms.Button btnClear; public Socket m_clientSocket;//关闭连接void ButtonCloseClick(object sender, System.EventArgs e) { if (...
阅读全文
【C#】 Socket通讯客户端程序
摘要:这段时间一直在优化Socket通讯这块,经常和Socket打交道,现在分享给大家一个小的案例,代码如下:byte[] m_dataBuffer = new byte [10]; IAsyncResult m_result; public AsyncCallback m_pfnCallBack ; private System.Windows.Forms.Button btnClear; public Socket m_clientSocket;//关闭连接void ButtonCloseClick(object sender, System.EventArgs e) { if (...
阅读全文
java和C#之间SOCKET通信的问题
摘要:java和C#之间SOCKET通信的问题一、服务器端(使用java编写)/*** 监听客户端的请求**/private static void socketService(){ExecutorService exec = Executors.newCachedThreadPool();try{ ServerSocket server=new ServerSocket(5678); int i = 1; while(true) { MyLogManager.InfoLog(log, null,"等待连接第"+i+"个用户..."); try { Socke
阅读全文
[置顶]C#中Socket服务端代码分享
摘要:最近在对项目中Socket通讯中的服务端代码进行优化,保证能接受尽可能多的客户端的连接,并且不会丢掉连接,不会掉数据包。经过一段时间的反复测试和修改,终于达到了这一要求。服务端代码采用了异步通讯的方式,并使用ManualResetEvent来对线程进行控制。在程序中,ManualResetEvent 的使用很关键。 ManualResetEvent 允许线程通过发信号互相通信。通常,此通信涉及一个线程在其他线程进行之前必须完成的任务。当一个线程开始一个活动(此活动必须完成后,其他线程才能开始)时,它调用 Reset 以将 ManualResetEvent 置于非终止状态,此线程可被视为控制 M
阅读全文
[置顶] C#中Socket服务端代码分享
摘要:最近在对项目中Socket通讯中的服务端代码进行优化,保证能接受尽可能多的客户端的连接,并且不会丢掉连接,不会掉数据包。经过一段时间的反复测试和修改,终于达到了这一要求。服务端代码采用了异步通讯的方式,并使用ManualResetEvent来对线程进行控制。在程序中,ManualResetEvent 的使用很关键。 ManualResetEvent 允许线程通过发信号互相通信。通常,此通信涉及一个线程在其他线程进行之前必须完成的任务。当一个线程开始一个活动(此活动必须完成后,其他线程才能开始)时,它调用 Reset 以将 ManualResetEvent 置于非终止状态,此线程可被视为控制 M
阅读全文
Tcp/IP 端口耗尽
摘要:原文链接:http://msdn.microsoft.com/zh-cn/library/aa560610(v=bts.10).aspx本文内容:1.查看端口使用状况的方法;2、端口耗尽所带来的问题;3、解决办法当客户端启动到服务器的 TCP/IP 套接字连接时,客户端通常连接到服务器上的特定端口,并请求服务器通过临时(或暂时)TCP 或 UDP 端口进行响应。在 Windows Server 2003 和 Windows XP 中,客户端应用程序所使用的临时端口的默认范围为 1025 到 5000。在某些情况下,有可能耗尽默认范围的可用端口。TCP/IP 端口耗尽的症状随客户端应用程序的不同
阅读全文
关于Socket通讯时通讯协议的制定
摘要:在系统开发过程中,如果涉及到了Socket通讯,那就要制定好通讯的协议,只有制定好了规则,后面的工作才方便顺利展开,制作通讯协议时要考虑到通讯的安全性,必要的信息要经过加密处理,同时也要考虑到系统的可扩展性,如果以后需要增加一个命令或者修改命令要保证这些工作能方便的进行。 协议的内容包括如下:一、 系统默认约定1. 本协议使用的字符串,如密码,位数为6位。2. 通讯方式:TCP、UDP。本协议默认为TCP/IP方式。3. 在线检测包、同步信息包,主要应用于TCP/IP长连接模式下,要求由终端(winform)发起,服务端作命令回馈。实时信息包,主要应用于TCP/IP短连接模式下,要求由终端(.
阅读全文
Socket基础知识分享
摘要:Socket Programming Considerations写Socket程序的时候需要注意设置下面的timeout,避免对方没有响应的时候,导致Socket程序挂起或等待时间过长1.1Accept TimeoutAccept timeout仅对ServerSocket有用。ServerSocket使用accept()方法来监听客户端Socket的连接。默认,ServerSocket.accept()方法会一直阻塞直到有客户端来连接。通常,我们不需要设置accept timeout.但有时候特殊情况,还是要考虑设置accept timeout.比如:程序A给程序B发了一个JMS消息,然后
阅读全文
socket通讯中需要用到的一些数据类型转换的方法
摘要:在上次做的项目中,使用到了Socket进行数据通讯,其中用到了一些数据类型进行转换的方法,现在贴出来给大家分享下,希望大家多给些意见,能进一步帮忙完善更好了,先谢过了。/// <summary> /// 整数转为Byte【】 /// 低位在前,高位在后 /// </summary> /// <param name="r">要转换的整数</param> /// <param name="digits">Byte位数</param> /// <returns></ret
阅读全文