- 浏览: 1451126 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (564)
- 算法 (7)
- 流金岁月 (1)
- Javascript (30)
- actionscript (108)
- as3.0 game (14)
- flex (84)
- fms2 (27)
- 正则表达式 (7)
- 开源组件代码(as3.0) (1)
- Pv3d (13)
- Cairngorm (4)
- vbs (54)
- VB程序设计 (26)
- 计算机应用与维护 (4)
- 职场实用穿衣技巧 (3)
- 历史风云 (15)
- 淡泊明志,宁静致远 (12)
- 情感 (26)
- 杂谈 (41)
- 越南风 (14)
- DirectX (9)
- Dev-cpp (11)
- 回望百年 (2)
- 建站经验 (2)
- Python (24)
- 网络赚钱 (4)
- php (2)
- html (1)
- ob0短址网 (1)
- ob0.cn (1)
- wordpress (1)
- pandas logistic (1)
- haxe (1)
- opencv (1)
- 微信小程序 (3)
- vue (3)
- Flutter (1)
最新评论
-
GGGGeek:
第一个函数滚动监听不起作用,onPageScroll可以
微信小程序--搜索框滚动到顶部时悬浮 -
naomibyron:
解决办法:工具 -> 编译选项 -> 编译器 ...
dev-c++中编译含WINSOCK的代码出现错误的解决方法 -
haichuan11:
这个…… 代码不全真的是让人很憋屈的感觉啊
actionScript 3.0 图片裁剪及旋转 -
chenyw101:
老兄能留个QQ号吗?具体的我有些东西想请教下你
用VB制作网站登陆器 -
yantao1943:
貌似有点问题,只派发一次事件啊
使用ActionScript 2.0或ActionScript 3.0处理音频文件的提示点(cue
实现服务器端的多线程SOCKET Server 想要实现的功能:在服务器端有一个控制台程序(或者Windows服务),与多个客户端程序通讯,其中主线程有一个socket绑定在一个固定端口上,负责监听客户端的Socket信息。每当启动一个客户端程序,客户端发送来一个socket连接请求,server端就新开启一个线程,并在其中创建一个socket与该客户端的socket通讯,直到客户端程序关闭,结束该线程。主线程中的socket在应用程序退出时关闭。 这里是Server端代码的简单示意,展示了如何创建多线程的Socket Server。 #include "StdAfx.h" #include <stdio.h> DWORD WINAPI AnswerThread(LPVOID lparam) { SOCKET ClientSocket=(SOCKET)(LPVOID)lparam; int bytesRecv; char sendbuf[32]=""; char recvbuf[32]=""; while(1) { bytesRecv=SOCKET_ERROR; for(int i=0;i<(int)strlen(recvbuf);i++) { recvbuf[i]=''''\0''''; } while(bytesRecv==SOCKET_ERROR) { //Receiving Data bytesRecv=recv(ClientSocket,recvbuf,32,0); } //Write your processing code here send(ClientSocket,recvbuf,strlen(recvbuf),0); printf("%s\n",recvbuf); } return 0; } int main(int argc,char* argv[]) { //initialize Winsock WSADATA wsaData; int iRet=WSAStartup(MAKEWORD(2,2),&wsaData); if(iRet!=NO_ERROR) printf("Error at WSAStartup()\n"); //create a socket SOCKET m_socket; m_socket=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); if(m_socket==INVALID_SOCKET) { printf("Error at socket():%ld\n",WSAGetLastError()); WSACleanup(); return 0; } //bind a socket sockaddr_in service; service.sin_family=AF_INET; service.sin_addr.s_addr=inet_addr("172.16.3.250"); service.sin_port=htons(2501); if(bind(m_socket,(SOCKADDR*)&service,sizeof(service))==SOCKET_ERROR) { printf("bind() failed.\n"); closesocket(m_socket); return 0; } else printf("bind OK.\n"); //listen on a socket if(listen(m_socket,20)==SOCKET_ERROR) printf("Error listening on socket.\n"); else printf("listening ok.\n"); //accept a connection SOCKET AcceptSocket; printf("Waiting for a client to connect...\n"); while(1) { AcceptSocket=SOCKET_ERROR; while(AcceptSocket==SOCKET_ERROR) { AcceptSocket=accept(m_socket,NULL,NULL); } printf("Client Connected.\n"); DWORD dwThreadId; HANDLE hThread; hThread=CreateThread(NULL,NULL, AnswerThread, (LPVOID)AcceptSocket,0,&dwThreadId); if(hThread==NULL) { printf("CreatThread AnswerThread() failed.\n"); } else { printf("CreateThread OK.\n"); } } return 0; } Socket的客户端程序就很简单了,可以使用VB拖一个WinSock控件到Form中,然后连接服务器的Socket并发送数据就行了。
发表评论
-
wxpython学习笔记
2011-01-13 21:21 2026出处:http://www.cnblogs.com ... -
ADO编程实用宝典
2009-05-08 13:05 1473目录 ADO编程实用宝典 目录 一引入A ... -
创建ACCESS的存储过程
2008-09-11 22:52 4796在Access自身的帮助中看到了Create Procedu ... -
轻量级xml读写模块 tinyXML
2008-09-11 16:32 2896文档和使用例子: http://www.grinningl ... -
基于TinyXML的XML文档操作(部分测试代码)
2008-09-11 16:31 2432#include <stdio.h> #incl ... -
使用tinyxml类解析XML
2008-09-11 16:26 2446读取和设置xml配置文件是最常用的操作,试用了几个C++的XM ... -
用VB制作网站登陆器
2008-08-25 20:59 4093Private Sub Command1_Click() Wb ... -
vb+Webbrowser控件详解
2008-08-25 20:54 3280方法 说明 GoBack 相当 ... -
VB自动提交表单问题
2008-08-25 14:32 2472需要知道表单名称呢,比如 <Form name=&quo ... -
BBS灌水机脚本(vb scritp, telnet, bbs, sterm)
2008-08-16 11:32 2510'****************************** ... -
c++下载网页的代码,VC6.0编译通过
2008-05-30 19:21 3854#include <winsock2.h> ... -
【译】C/S 多线程Socket类
2008-05-30 19:16 1668Multi-threaded Client/Server So ... -
C++ Socket Class for Windows
2008-05-30 18:59 1630Here, I present the source c ... -
C++ socket程序
2008-05-30 17:58 11510C++ socket程序 下面是一个C++调用windows ... -
字符串提取
2008-05-05 11:24 1299Function bTest(ByVal s As Strin ... -
VB用正则表达式提取网页中的链接
2008-05-05 10:37 2903VBScript code Function getUrl ... -
利用VB提取HTML文件中的EMAIL地址
2008-05-05 09:53 1188电子邮件(EMAIL)是INTERNET上应用最广泛的一种服务 ... -
VB6.0如何使用正则表达式
2008-05-04 20:39 8007最近在用VB6解决一个网页解析的应用,涉及到了正则。如何在VB ... -
VB写一个IE插件
2008-05-04 18:20 3063Q: 就类似于3721的插件一样,当用户浏览我的网站的时候,提 ... -
破解VisualStudio2005(vs2005) 的180天限制
2008-04-19 11:53 4556中文版本的软件本身是正式版,但内置的序列号却是180天试用版的 ...
相关推荐
C#语言开发多线程Socket服务器端程序,实现一个服务器同时与多个客户端连接对话。这里,我们将详细讲解如何使用C#语言开发多线程Socket服务器端程序,实现一个服务器同时与多个客户端连接对话。 多线程Socket服务器...
标签"TcpServer tcp服务器端多线程"进一步强调了这个项目的重点,即TCP服务器的实现及其在处理并发连接时的多线程技术。 综上所述,创建一个TCP服务器端并实现多线程通信涉及网络编程基础、TCP协议理解以及多线程...
在IT行业中,网络编程是不可或缺的一部分,特别是在服务器端开发中,使用TCPServer编写多线程的socket服务是一项基础但重要的技术。本文将详细讲解如何使用TCPServer来实现这样的服务,以及多线程在其中的作用。 ...
多线程SOCKET收发的实现涉及的知识点广泛,包括网络协议、线程同步、异常处理等。实际开发中,还需要考虑如负载均衡、资源管理等高级话题。通过学习和实践这个主题,你可以深入理解C++的多线程特性和网络编程,提升...
"VC实现多线程socket通信"这个主题聚焦于如何在Microsoft Visual C++(VC)环境下利用多线程技术进行socket编程,以实现高效且并发的网络通信。 Socket是网络编程中的一个重要概念,它提供了一种进程间通信(IPC)...
1、运用多线程和Socket技术实现Socket Server端侦听多个客户端请求; 2、实现服务器端循环处理客户端不同请求从而实现不同测试要求,并向客户端循环发送数据; 3、实现客户端向服务器端发送不同测试命令,并接收...
C#作为一种功能强大的.NET编程语言,提供了丰富的库支持来实现网络通信,其中包括使用socket进行多线程编程。本篇文章将深入探讨如何在C#中利用多线程和socket技术创建一个聊天室实例。 首先,理解`socket`的概念至...
在这个名为"JAVA写的多线程socket通信程序源码"的项目中,我们可以看到作者通过Java语言实现了一个基于多线程的Socket通信模型,这通常是服务器和客户端之间的交互。 首先,让我们了解一下Java中的Socket。Socket是...
在这个Java多线程Socket实现中,我们将探讨如何创建服务器端(ServerSocket)和客户端(Socket),以及如何使用多线程来处理并发连接。 首先,我们需要理解Java中的`Socket`类和`ServerSocket`类。`ServerSocket`是...
在多线程SOCKET实例中,服务器端通常会创建一个主监听线程,负责接受客户端的连接请求。当收到请求时,主监听线程会创建一个新的工作线程来处理这个客户端的通信,而自身则继续监听新的连接。这样,每个工作线程都...
本项目标题为“Qt Socket 多线程代码实现”,是一个适合初学者的示例,它展示了如何使用QtcpSocket在多线程环境中构建一个服务器。下面将详细介绍相关知识点。 首先,我们来理解什么是Socket。Socket是一种在不同...
1. **服务器端多线程**:当服务器接收到客户端的连接请求时,为了同时处理多个客户端的请求,服务器端可以创建一个新的线程来处理每个连接。这样,服务器可以并行地为多个客户端服务,提高了服务的并发能力。在Java...
1. `server.py`: 服务器端的代码,包含Socket的创建、绑定、监听和接受连接,以及使用多线程处理客户端请求的部分。 2. `client.py`: 客户端的代码,包含Socket的创建、连接以及发送和接收数据的功能。 3. `config....
提供的"同步异步多线程SOCKET通讯.txt"文件可能包含实际的示例代码,展示了如何在Python、Java或C++等语言中实现同步和异步多线程Socket通信。这些代码可能包括创建Server端的Socket监听,创建并管理线程池,处理...
本文将深入探讨如何在Linux环境下实现多线程Socket通信,结合给出的标题和描述,我们可以构建一个基于Ubuntu的客户端和Linux系统ARM板上的多线程服务器的通信模型。 首先,让我们了解Socket的基本概念。Socket是...
Socket分为服务器端Socket(Server Socket)和客户端Socket(Client Socket)。服务器端Socket通常会监听一个特定的端口,等待客户端的连接请求;而客户端Socket则负责发起连接,与服务器建立通信链路。 在这个例子...
在C#中,多线程Socket编程是实现网络通信的一种常见方式,尤其适用于需要同时处理多个客户端连接的场景。通过创建多个线程,每个线程专门负责与一个客户端的通信,可以有效提高服务器的并发处理能力。 ### 二、多...
本教程将深入讲解C#中的Socket通信,包括客户端和服务器端的实现,以及如何通过源码学习相关知识。 首先,我们要理解Socket的基本概念。Socket,也称为套接字,是网络通信中的一个接口,它允许应用程序通过网络发送...
`Client`和`Server`则是源代码文件,分别代表TCP客户端和服务器端的实现。客户端通常负责发起连接请求,发送数据并接收服务器响应,而服务器端则负责监听端口,接受连接,处理客户端请求并返回响应。 在服务器端的...
标题“server_thread.rar_多线程socket_并发”提示我们,这个压缩包中包含了一个使用Unix操作系统下Socket API实现的并发服务器程序,它利用了多线程技术来提高服务的并行处理能力。接下来,我们将深入探讨多线程...