winsock程序之--字符串的发送与接收
来源:互联网 发布:小学生数学题库软件 编辑:程序博客网 时间:2024/04/28 09:31
1、服务器端程序
功能:接收客户端发来的字符串,并把字符串原封不动地发送给客户端
#include <stdio.h>#include <WinSock2.h>#include "mystr.h"#include "mysock.h"#pragma comment(lib, "ws2_32")int main() { int iResult; WORD wVersionRequested; WSADATA wsaData; SOCKET listenSocket; SOCKET acceptSocket; struct sockaddr_in service; char received[256]; /* initialize winsock... create sock... bind... listen... accept... */ /* read data and send it */ memset(received, 0, sizeof(received)); readString(acceptSocket, received, sizeof(received)); while (strLen(received) > 0 && strCmp(received, "quit") != 0) { printf("received: %s\n", received); writeString(acceptSocket, received); memset(received, 0, sizeof(received)); readString(acceptSocket, received, sizeof(received)); } printf("bye-bye!\n"); closesocket(listenSocket); WSACleanup(); return 0;}
2、客户端程序
功能:将输入的字符串发送给服务器端,并接收和打印服务器端发来字符串
#include <stdio.h>#include <WinSock2.h>#include "mystr.h"#include "mysock.h"#pragma comment(lib, "ws2_32")int main() { int iResult; WORD wVersionRequested; WSADATA wsaData; SOCKET clientSocket; struct sockaddr_in clientService; char sent[256]; char received[256]; /* initialize winsock... create sock... connect... */ /* write data and receive it */ memset(sent, 0, sizeof(sent)); printf("> "); gets_s(sent, sizeof(sent) - 1); while (strCmp(sent, "quit") != 0) { writeString(clientSocket, sent); memset(received, 0, sizeof(received)); readString(clientSocket, received, sizeof(received)); printf("received: %s\n", received); printf("> "); gets_s(sent, sizeof(sent) - 1); } printf("bye-bye"); closesocket(clientSocket); WSACleanup(); return 0;}
运行结果如下:
图1:客户端程序
图2:服务器端程序
注:
程序代码中引用的文件"mysock.h"请见有关socket数据传输的函数
程序代码中引用的文件"mystr.h"请见字符串处理函数的实现
程序代码中省略的代码请见初步认识windows socket服务器端与客户端编程
测试环境:Microsoft Visual Studio 2010
- winsock程序之--字符串的发送与接收
- VB.NET通过Socket实现字符串发送与接收程序
- winsock编程如何设置发送与接收超时参数?
- prjSendMailInUniversity - How to send email using VB & Winsock - 邮件发送接收程序 - VB6 + Winsock
- JAVA之UDP广播接收与发送小程序
- WinSock中关于阻塞接收/发送超时的一个BUG
- WinSock中关于阻塞接收/发送超时的一个BUG
- 串口发送与接收字符串是存在很大不同的
- stm32应用-简单的串口接收与发送程序
- USRP发送接收程序/boost库的安装与使用
- linux下基于udp的简单的接收与发送程序,开发板与本机接收与发送信息
- linux下基于tcp的简单的接收与发送程序,开发板与本机接收与发送信息
- RabbitMQ之最简单的消息的发送与接收
- 使用winsock+UDP写的一个简单接收端程序
- 51单片机串口程序,字符串/16进制发送与接收
- ASP之SOAP的发送、接收与处理类
- ASP.NET之SOAP的发送、接收与处理类
- java之Scoket 客户端和服务器的发送与接收
- 周末游岳麓山有感长沙的文化
- 零距离感受 纸巾上诞生的数据中心
- Apache Common HttpClient使用之七种武器
- Linux 中 RPM 命令参数使用详解
- 清理SVN目录中.SVN
- winsock程序之--字符串的发送与接收
- 关于C6表单中grid自定义标题用不同色
- opencms中让内容类型自动添加模板
- TCP/IP分层模型笔记
- 稳扎稳打Silverlight(50) - 4.0绑定之DependencyObject绑定, 索引器绑定, StringFormat, TargetNullValue和FallbackValue,
- sharepoint 2007 column不显示delete
- 8086最小模式原理总结
- Eclipse插件大全 挑选最牛的TOP30
- 在SQL Server 2005数据库中实现自动备份