- 浏览: 122515 次
- 性别:
- 来自: 北京
最新评论
-
darrendu:
http://www.iteye.com/problems/4 ...
socket编程的注意事项 -
darrendu:
socket 这个方法sendUrgentData(0xff) ...
socket编程的注意事项 -
sunnylocus:
朋友你是作c++开发的么?
TCP/IP Winsock网络编程综述 -
mj1389541:
hThread=CreateThread(NULL,N ...
实现服务器端的多线程SOCKET Server -
jfwcn:
有需要java版的wm算法的我可以提供给大家源码:地址:
ht ...
字符串多模式精确匹配(脏字/敏感词汇搜索算法)——TTMP算法 之理论
TCP Socket编程 C/C++实现 (Windows Platform SDK)
Server:
------------------------------------------------------------
#pragma comment(lib, "ws2_32.lib")
#include <Winsock2.h>
#include <stdio.h>
void main()
{
//版本协商
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD(1,1); //0x0101
err = WSAStartup(wVersionRequested,&wsaData);
if(err!=0)
{
return;
}
if(LOBYTE(wsaData.wVersion)!=1 || HIBYTE(wsaData.wVersion)!=1)
//wsaData.wVersion!=0x0101
{
WSACleanup();
return;
}
//创建Socket
SOCKET sockSvr = socket(AF_INET,SOCK_STREAM,0);
//创建IP地址和端口
SOCKADDR_IN addrSvr;
addrSvr.sin_addr.S_un.S_addr = htonl(INADDR_ANY);
addrSvr.sin_family = AF_INET;
addrSvr.sin_port = htons(6000);
//绑定端口监听
bind(sockSvr,(SOCKADDR*)&addrSvr,sizeof(SOCKADDR));
listen(sockSvr,5);
sockaddr_in addrClient;
int len = sizeof(sockaddr);
while(true)
{
//阻塞方法,获得一个客户Socket连接
SOCKET sockConn = accept(sockSvr,(sockaddr*)&addrClient,&len);
char sendbuffer[128];
sprintf(sendbuffer,"Welcom %s!",inet_ntoa(addrClient.sin_addr));
//向客户Socket发送数据
send(sockConn,sendbuffer,strlen(sendbuffer)+1,0);
char recvbuffer[128];
//从客户Soc接受数据
recv(sockConn,recvbuffer,128,0);
printf("%s\n",recvbuffer);
//关闭Socket
closesocket(sockConn);
}
closesocket(sockSvr);
//释放Winsock资源
WSACleanup();
}
Client:
--------------------------------------------------------
#pragma comment (lib,"ws2_32.lib")
#include <Winsock2.h>
#include <stdio.h>
void main()
{
//版本协商
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD(1,1); //0x0101
err = WSAStartup(wVersionRequested,&wsaData);
if(err!=0)
{
return;
}
if(LOBYTE(wsaData.wVersion)!=1 || HIBYTE(wsaData.wVersion)!=1)
//wsaData.wVersion!=0x0101
{
WSACleanup();
return;
}
//创建连向服务器的套接字
SOCKET sock = socket(AF_INET,SOCK_STREAM,0);
//创建地址信息
SOCKADDR_IN hostAddr;
hostAddr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
hostAddr.sin_family = AF_INET;
hostAddr.sin_port = htons(6000);
//连接服务器
connect(sock,(sockaddr*)&hostAddr,sizeof(sockaddr));
char revBuf[128];
//从服务器获得数据
recv(sock,revBuf,128,0);
printf("%s\n",revBuf);
//向服务器发送数据
send(sock,"Hello Host!",12,0);
closesocket(sock);
}
转自:http://blog.csdn.net/nyzhl/archive/2008/07/04/2612815.aspx
UDP Socket编程 C/C++实现 (Windows Platform SDK)
Server:
-------------------------------------------------------
#pragma comment (lib,"ws2_32.lib")
#include <Winsock2.h>
#include <stdio.h>
void main()
{
//版本协商
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD( 1, 1 );
err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 ) {
/* Tell the user that we could not find a usable */
/* WinSock DLL. */
return;
}
/* Confirm that the WinSock DLL supports 2.2.*/
/* Note that if the DLL supports versions greater */
/* than 2.2 in addition to 2.2, it will still return */
/* 2.2 in wVersion since that is the version we */
/* requested. */
if ( LOBYTE( wsaData.wVersion ) != 1 ||
HIBYTE( wsaData.wVersion ) != 1) {
/* Tell the user that we could not find a usable */
/* WinSock DLL. */
WSACleanup( );
return;
}
/* The WinSock DLL is acceptable. Proceed. */
//创建数据报套接字
SOCKET svr = socket(AF_INET,SOCK_DGRAM,0);
//创建本地地址信息
SOCKADDR_IN addr;
addr.sin_family = AF_INET;
addr.sin_port = htons(6000);
addr.sin_addr.S_un.S_addr = htonl(INADDR_ANY);
int len = sizeof(sockaddr);
bind(svr,(sockaddr*)&addr,len);
//创建客户端地址对象
SOCKADDR_IN addrClient;
char recvBuf[128];
char sendBuf[128];
char tempBuf[256];
while(true)
{
//接收数据
recvfrom(svr,recvBuf,128,0,(sockaddr*)&addrClient,&len);
char* ipClient = inet_ntoa(addrClient.sin_addr);
sprintf(tempBuf,"%s said: %s\n",ipClient,recvBuf);
printf("%s",tempBuf);
gets(sendBuf);
//发送数据
sendto(svr,sendBuf,strlen(sendBuf)+1,0,(sockaddr*)&addrClient,len);
}
closesocket(svr);
WSACleanup();
}
Client:
------------------------------------------------------
#pragma comment (lib,"ws2_32.lib")
#include <Winsock2.h>
#include <stdio.h>
void main()
{
//版本协商
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD( 1, 1 );
err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 ) {
/* Tell the user that we could not find a usable */
/* WinSock DLL. */
return;
}
/* Confirm that the WinSock DLL supports 2.2.*/
/* Note that if the DLL supports versions greater */
/* than 2.2 in addition to 2.2, it will still return */
/* 2.2 in wVersion since that is the version we */
/* requested. */
if ( LOBYTE( wsaData.wVersion ) != 1 ||
HIBYTE( wsaData.wVersion ) != 1 ) {
/* Tell the user that we could not find a usable */
/* WinSock DLL. */
WSACleanup( );
return;
}
/* The WinSock DLL is acceptable. Proceed. */
//创建服务器套接字
SOCKET Svr = socket(AF_INET,SOCK_DGRAM,0);
//创建地址
SOCKADDR_IN addrSvr;
addrSvr.sin_family = AF_INET;
addrSvr.sin_port = htons(6000);
addrSvr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
char recvBuf[128];
char sendBuf[128];
int len = sizeof(sockaddr);
while(true)
{
gets(sendBuf);
//发送数据
sendto(Svr,sendBuf,strlen(sendBuf)+1,0,(sockaddr*)&addrSvr,len);
//接收数据
recvfrom(Svr,recvBuf,128,0,(sockaddr*)&addrSvr,&len);
char* ipSvr = inet_ntoa(addrSvr.sin_addr);
printf("%s said: %s\n",ipSvr,recvBuf);
}
closesocket(Svr);
WSACleanup();
}
转自: http://blog.csdn.net/nyzhl/archive/2008/07/04/2612848.aspx
Server:
------------------------------------------------------------
#pragma comment(lib, "ws2_32.lib")
#include <Winsock2.h>
#include <stdio.h>
void main()
{
//版本协商
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD(1,1); //0x0101
err = WSAStartup(wVersionRequested,&wsaData);
if(err!=0)
{
return;
}
if(LOBYTE(wsaData.wVersion)!=1 || HIBYTE(wsaData.wVersion)!=1)
//wsaData.wVersion!=0x0101
{
WSACleanup();
return;
}
//创建Socket
SOCKET sockSvr = socket(AF_INET,SOCK_STREAM,0);
//创建IP地址和端口
SOCKADDR_IN addrSvr;
addrSvr.sin_addr.S_un.S_addr = htonl(INADDR_ANY);
addrSvr.sin_family = AF_INET;
addrSvr.sin_port = htons(6000);
//绑定端口监听
bind(sockSvr,(SOCKADDR*)&addrSvr,sizeof(SOCKADDR));
listen(sockSvr,5);
sockaddr_in addrClient;
int len = sizeof(sockaddr);
while(true)
{
//阻塞方法,获得一个客户Socket连接
SOCKET sockConn = accept(sockSvr,(sockaddr*)&addrClient,&len);
char sendbuffer[128];
sprintf(sendbuffer,"Welcom %s!",inet_ntoa(addrClient.sin_addr));
//向客户Socket发送数据
send(sockConn,sendbuffer,strlen(sendbuffer)+1,0);
char recvbuffer[128];
//从客户Soc接受数据
recv(sockConn,recvbuffer,128,0);
printf("%s\n",recvbuffer);
//关闭Socket
closesocket(sockConn);
}
closesocket(sockSvr);
//释放Winsock资源
WSACleanup();
}
Client:
--------------------------------------------------------
#pragma comment (lib,"ws2_32.lib")
#include <Winsock2.h>
#include <stdio.h>
void main()
{
//版本协商
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD(1,1); //0x0101
err = WSAStartup(wVersionRequested,&wsaData);
if(err!=0)
{
return;
}
if(LOBYTE(wsaData.wVersion)!=1 || HIBYTE(wsaData.wVersion)!=1)
//wsaData.wVersion!=0x0101
{
WSACleanup();
return;
}
//创建连向服务器的套接字
SOCKET sock = socket(AF_INET,SOCK_STREAM,0);
//创建地址信息
SOCKADDR_IN hostAddr;
hostAddr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
hostAddr.sin_family = AF_INET;
hostAddr.sin_port = htons(6000);
//连接服务器
connect(sock,(sockaddr*)&hostAddr,sizeof(sockaddr));
char revBuf[128];
//从服务器获得数据
recv(sock,revBuf,128,0);
printf("%s\n",revBuf);
//向服务器发送数据
send(sock,"Hello Host!",12,0);
closesocket(sock);
}
转自:http://blog.csdn.net/nyzhl/archive/2008/07/04/2612815.aspx
UDP Socket编程 C/C++实现 (Windows Platform SDK)
Server:
-------------------------------------------------------
#pragma comment (lib,"ws2_32.lib")
#include <Winsock2.h>
#include <stdio.h>
void main()
{
//版本协商
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD( 1, 1 );
err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 ) {
/* Tell the user that we could not find a usable */
/* WinSock DLL. */
return;
}
/* Confirm that the WinSock DLL supports 2.2.*/
/* Note that if the DLL supports versions greater */
/* than 2.2 in addition to 2.2, it will still return */
/* 2.2 in wVersion since that is the version we */
/* requested. */
if ( LOBYTE( wsaData.wVersion ) != 1 ||
HIBYTE( wsaData.wVersion ) != 1) {
/* Tell the user that we could not find a usable */
/* WinSock DLL. */
WSACleanup( );
return;
}
/* The WinSock DLL is acceptable. Proceed. */
//创建数据报套接字
SOCKET svr = socket(AF_INET,SOCK_DGRAM,0);
//创建本地地址信息
SOCKADDR_IN addr;
addr.sin_family = AF_INET;
addr.sin_port = htons(6000);
addr.sin_addr.S_un.S_addr = htonl(INADDR_ANY);
int len = sizeof(sockaddr);
bind(svr,(sockaddr*)&addr,len);
//创建客户端地址对象
SOCKADDR_IN addrClient;
char recvBuf[128];
char sendBuf[128];
char tempBuf[256];
while(true)
{
//接收数据
recvfrom(svr,recvBuf,128,0,(sockaddr*)&addrClient,&len);
char* ipClient = inet_ntoa(addrClient.sin_addr);
sprintf(tempBuf,"%s said: %s\n",ipClient,recvBuf);
printf("%s",tempBuf);
gets(sendBuf);
//发送数据
sendto(svr,sendBuf,strlen(sendBuf)+1,0,(sockaddr*)&addrClient,len);
}
closesocket(svr);
WSACleanup();
}
Client:
------------------------------------------------------
#pragma comment (lib,"ws2_32.lib")
#include <Winsock2.h>
#include <stdio.h>
void main()
{
//版本协商
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD( 1, 1 );
err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 ) {
/* Tell the user that we could not find a usable */
/* WinSock DLL. */
return;
}
/* Confirm that the WinSock DLL supports 2.2.*/
/* Note that if the DLL supports versions greater */
/* than 2.2 in addition to 2.2, it will still return */
/* 2.2 in wVersion since that is the version we */
/* requested. */
if ( LOBYTE( wsaData.wVersion ) != 1 ||
HIBYTE( wsaData.wVersion ) != 1 ) {
/* Tell the user that we could not find a usable */
/* WinSock DLL. */
WSACleanup( );
return;
}
/* The WinSock DLL is acceptable. Proceed. */
//创建服务器套接字
SOCKET Svr = socket(AF_INET,SOCK_DGRAM,0);
//创建地址
SOCKADDR_IN addrSvr;
addrSvr.sin_family = AF_INET;
addrSvr.sin_port = htons(6000);
addrSvr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
char recvBuf[128];
char sendBuf[128];
int len = sizeof(sockaddr);
while(true)
{
gets(sendBuf);
//发送数据
sendto(Svr,sendBuf,strlen(sendBuf)+1,0,(sockaddr*)&addrSvr,len);
//接收数据
recvfrom(Svr,recvBuf,128,0,(sockaddr*)&addrSvr,&len);
char* ipSvr = inet_ntoa(addrSvr.sin_addr);
printf("%s said: %s\n",ipSvr,recvBuf);
}
closesocket(Svr);
WSACleanup();
}
转自: http://blog.csdn.net/nyzhl/archive/2008/07/04/2612848.aspx
发表评论
-
socket编程的注意事项
2009-09-12 10:37 4824socket编程的注意事项: ... -
实现服务器端的多线程SOCKET Server
2009-09-12 10:22 2957实现服务器端的多线程SOCKET Ser ... -
总结网络编程一些要点
2009-09-11 13:55 1058端口 按照OSI七层模型的 ... -
孙鑫vc—第14课 网络编程
2009-09-11 13:44 1729孙鑫 ... -
linux c语言 select函数用法
2009-09-10 16:28 2641linux c语言 select函数用 ... -
Socket编程中的select多路复用
2009-09-10 16:21 6551[/size]Socket编程中的select ... -
Socket编程中select()的妙用
2009-09-10 16:11 3074Socket编程中select()的妙用 用过 WinSock ... -
网络socket编程指南
2009-09-09 15:06 1099网络socket编程指南 Socket 编程让你沮丧吗? ... -
Windows Socket编程
2009-09-09 15:03 2616Windows下Socket编程主要包括以下几部分: 服务端 ... -
Windows Socket编程
2009-09-09 15:02 1453Windows Socket编程 一、基 ... -
windows socket编程函数大全详解
2009-09-09 15:01 5928windows socket编程函数 5.1 ... -
Windows Socket 网络编程(二) —— 套接字编程原理
2009-09-09 14:44 1776一、客户机/服务器模式 ... -
Windows Socket API 使用经验
2009-09-09 14:37 1938Windows Socket API 使用经验 ... -
linux socket 学习笔记
2009-09-09 14:31 9431.创建套接字:socket() C代码 /* Creat ... -
c++ socket
2009-09-09 14:28 1762参考:http://tech.163.com/school h ... -
socket编程
2009-09-09 14:23 11771、Socket服务器端: Socket服务器端流程如下:加 ... -
在VC下使用标准的socket函数编程的步骤
2009-09-09 14:17 4161在VC下使用标准的socket函数编程的步骤 sock ...
相关推荐
TCP/UDP socket 调试工具 TCP/UDP socket 调试工具 SocketTool调试软件是一款网络TCP/UDP通信调试工具,本工具集功能强大与简单易用为一体,是无需安装的免费绿色软件。她可以帮助网络编程人员、网络维护人员检查所...
TCP/UDP Socket调试工具 V2.3
TCP/UDP Socket调试工具 V2.3是网络软件测试开发必备工具,对网络开发测试起到很大的帮助作用。可设置成TCP/UDP的Server端和Client端
TCP/UDP Socket 调试工具TCP/UDP Socket 调试工具
基于TCP协议的Socket编程 ① 创建TCP服务端步骤: a) 创建一个ServerSocket对象 b) 调用accept()方法接受客户端请求 c) 从Socket中获取I/O流 d) 对I/O流进行读写操作,完成与客户端的交互 e) 关闭I/O流和...
tcp/udp socket 组播通讯测试工具。调试工具提供了TCP Server,TCP Client,UDP Server,UDP Client,UDP Group 五种Socket调试方案
SocketTool (TCP/UDP Socket 调试工具 V2.2) 该工具可以模拟Socket服务端或者客户端。 操作简单,易用。
Java TCP/IP Socket编程 Java TCP/IP Socket编程 Java TCP/IP Socket编程
SocketTool调试工具官方版是一款网络TCP/UDP通信调试工具。SocketTool调试工具最新版可以有效地帮助网络管理员检测各种网络通信状永久,集成了TCP服务器/客户端、UDP服务器/客户端和UDP广播/组播等功能。SocketTool...
linux下ipv6简单的tcp/udp socket通信,代码测试通过,具体可以参考: http://blog.csdn.net/zhengxianghdu/article/details/14106167
java TCP/IP socket 编程(原书第2版)+部分源码,对于想学习java socket编程很有帮助!
Qt通过TCP/UDP实现网络通信Qt通过TCP/UDP实现网络通信Qt通过TCP/UDP实现网络通信Qt通过TCP/UDP实现网络通信Qt通过TCP/UDP实现网络通信Qt通过TCP/UDP实现网络通信Qt通过TCP/UDP实现网络通信Qt通过TCP/UDP实现网络通信...
《Java TCP/IP Socket编程(原书第2版)》基于TCP/IP Socket相关原理,对如何在Java中进行Socket编程作了深入浅出的介绍。《Java TCP/IP Socket编程(原书第2版)》内容简明扼要,条理清晰,并在讲解相应的概念或编程...
用户测试socket通讯,udp,tcp都可以使用,设定好ip地址和端口,参数点击发送就行。打开后解压直接使用,有个socke+xml通讯的截图案例。
socket(TCP/UDP)编程源码,socket(TCP/UDP)编程源码,socket(TCP/UDP)编程源码
TCP/UDP socket等知识的详细具体又容易理解地学习资料