`
hwpok
  • 浏览: 251987 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

字符聊天程序

阅读更多
#include <Winsock2.h>
#include 
<stdio.h>
#pragma comment(lib,
"ws2_32.lib")

void main() 

    WORD wVersionRequested; 
    WSADATA wsaData; 
    
int err; 

    wVersionRequested
=MAKEWORD(1,1); 

    err 
= WSAStartup(wVersionRequested, &wsaData); 
    
if (err != 0
    


        
return
    }
 

    
if (LOBYTE(wsaData.wVersion)!=1 || 
        HIBYTE(wsaData.wVersion)
!=1
    

        WSACleanup(); 
        
return
    }
 

    SOCKET sockSrv
=socket(AF_INET,SOCK_DGRAM,0);

    SOCKADDR_IN addrSrv;
    addrSrv.sin_addr.S_un.S_addr
=htonl(INADDR_ANY);
    addrSrv.sin_family
=AF_INET;
    addrSrv.sin_port
=htons(6000);

    bind(sockSrv,(SOCKADDR
*)&addrSrv,sizeof(SOCKADDR));

    
char recvBuf[100];
    
char sendBuf[100];
    
char tempBuf[200];

    SOCKADDR_IN addrClient;
    
int len=sizeof(SOCKADDR);

    
while(1)
    
{
        recvfrom(sockSrv,recvBuf,
100,0,(SOCKADDR*)&addrClient,&len);
        
if('q'==recvBuf[0])
        
{
            sendto(sockSrv,
"q",strlen("q")+1,0,(SOCKADDR*)&addrClient,len);
            printf(
"Chat end!%n");
            
break;
        }

        sprintf(tempBuf,
"%s say:%s",inet_ntoa(addrClient.sin_addr),recvBuf);
        printf(
"%s\n",tempBuf);
        printf(
"Please input data:\n");
        gets(sendBuf);
        sendto(sockSrv,sendBuf,strlen(sendBuf)
+1,0,(SOCKADDR*)&addrClient,len);
    }

    closesocket(sockSrv);
    WSACleanup();
}


#include <Winsock2.h>
#include 
<stdio.h>
#pragma comment(lib,
"ws2_32.lib")

void main() 

    WORD wVersionRequested; 
    WSADATA wsaData; 
    
int err; 

    wVersionRequested
=MAKEWORD(1,1); 

    err 
= WSAStartup(wVersionRequested, &wsaData); 
    
if (err != 0
    


        
return
    }
 

    
if (LOBYTE(wsaData.wVersion)!=1 || 
        HIBYTE(wsaData.wVersion)
!=1
    

        WSACleanup(); 
        
return
    }
 
    
    SOCKET sockClient
=socket(AF_INET, SOCK_DGRAM,0);

    SOCKADDR_IN addrSrv;
    addrSrv.sin_addr.S_un.S_addr
=inet_addr("127.0.0.1");
    addrSrv.sin_family
=AF_INET;
    addrSrv.sin_port
=htons(6000);
     
char recvBuf[100];
     
char sendBuf[100];
     
char tempBuf[200];

     
int len=sizeof(SOCKADDR);

     
while(1)
     
{
         printf(
"please input data:\n");
         gets(sendBuf);
         sendto(sockClient,sendBuf,strlen(sendBuf)
+1,0,
             (SOCKADDR
*)&addrSrv,len);
         recvfrom(sockClient,recvBuf,
100,0,(SOCKADDR*)&addrSrv,&len);
         
if('q'==recvBuf[0])
         
{
             sendto(sockClient,
"q",strlen("q")+1,0,
                 (SOCKADDR
*)&addrSrv,len);
             printf(
"Chat end!\n");
             
break;
         }

         sprintf(tempBuf,
"%s say:%s",inet_ntoa(addrSrv.sin_addr),recvBuf);
         printf(
"%s\n",tempBuf);
     }

     closesocket(sockClient);
     WSACleanup();
}
分享到:
评论

相关推荐

    一个字符界面的聊天程序

    网络的相关知识,网络程序的编写,Socket是连接应用程序与网络驱动程序的桥梁,Socket在应用程序中创建,通过bind与驱动程序建立关系。此后,应用程序送给Socket的数据,由Socket交给驱动...一个字符界面的聊天程序。

    计算机网络下的聊天程序,基于JAVA,可以进行字符聊天

    在本项目中,我们探讨的是一个基于JAVA编程语言实现的聊天程序,它允许用户进行字符聊天,即文本形式的交流。 【JAVA编程基础】 JAVA是一种广泛使用的面向对象的编程语言,以其“一次编写,到处运行”的特性闻名。...

    基于UDP的简单字符界面的聊天程序

    标题中的“基于UDP的简单字符界面的聊天程序”是指一个使用C语言编写的网络通信应用,它通过用户数据报协议(UDP)进行数据传输,并在终端上以纯文本的字符界面展示聊天内容。UDP是一种无连接的、不可靠的传输协议,...

    Java聊天程序.

    4. **字符编码**:考虑到不同系统可能使用不同的字符编码,Java聊天程序需要处理字符编码问题,确保信息正确传输。通常,UTF-8编码被广泛使用,因为它可以兼容多种语言。 5. **设计模式**:在编写聊天程序时,可能...

    Linux字符设备驱动实现

    本文将深入探讨如何实现一个简单的字符设备驱动,并利用它来设计一个聊天程序,实现进程间的同步通信。 首先,理解字符设备驱动的基本结构至关重要。在Linux内核中,字符设备驱动通过注册到`cdev`(字符设备)结构...

    VC2010网络聊天程序的实现

    【VC2010网络聊天程序的实现】是基于Microsoft Foundation Classes (MFC)库开发的一个网络通信项目,主要用于实现两个或多个用户之间的实时文本聊天功能。MFC是微软为Windows平台提供的一种C++类库,它封装了Windows...

    vc++用UDP实现的一个简单的聊天程序

    在本文中,我们将深入探讨如何使用VC++和UDP(用户数据报协议)来构建一个简单的聊天程序。UDP是一种无连接的、不可靠的传输层协议,适合于对实时性要求较高但对数据完整性要求较低的应用场景,如在线游戏、视频通话...

    java 聊天程序 代码

    在聊天程序中,可能涉及到字节流或字符流,以及缓冲流(BufferedReader和PrintWriter)以提高效率。 4. **用户界面**:为了与用户交互,聊天程序通常会有一个图形用户界面(GUI)。Java提供了JavaFX和Swing等库来...

    Java简易聊天程序

    Java简易聊天程序是一种基于Java编程语言实现的交互式通信应用,它允许用户通过网络进行文本聊天。这个程序的核心概念和关键技术主要包括多线程、网络编程、输入/输出流以及简单的用户界面设计。以下是对这些关键...

    C++聊天程序,功能很强大,很实用

    本压缩包包含的“C++聊天程序”是一个利用C++实现的交互式通信应用,旨在提供一个平台,让用户能够实时发送和接收消息,体验实时的聊天功能。 C++聊天程序的设计与实现涉及到多个关键知识点: 1. **网络编程**:在...

    delphi7聊天程序

    《Delphi7聊天程序详解——探索网络通信技术的基石》 Delphi7是一款经典的集成开发环境,以其强大的组件化编程能力和高效的编译器闻名于世。在这个标题为“Delphi7聊天程序”的项目中,我们可以深入了解到如何利用...

    基于linux下socket的聊天小程序

    本文将详细介绍一个基于Linux环境下的简单Socket聊天程序。此程序采用C语言编写,利用Socket编程技术实现了客户端与服务端之间的基本文本消息传输功能。通过分析该程序代码,我们可以深入理解Socket编程的基本原理...

    简单的C++聊天程序

    2. **字符串处理**:聊天程序涉及到大量文字信息,`std::string`类是C++中处理字符串的基本工具,包括字符串的创建、拼接、截取等操作。`&lt;string&gt;`库提供了丰富的字符串函数。 3. **循环与条件语句**:为了实现聊天...

    VC版简单的聊天程序

    客户端程序和服务器程序通过网络交换聊天字符串内容,并在窗口的列表框中显示。 本实例程序的技术要点是: 如何从CasyncSocket类派生出自己的WinSock类。 理解WinSock类与应用程序框架的关系。 重点学习流式套...

    C++网络聊天程序(字符界面)

    标题中的"C++网络聊天程序(字符界面)"表明这是一个使用C++编程语言开发的网络应用程序,其功能是实现用户之间的实时聊天。字符界面意味着它没有图形用户界面(GUI),而是通过命令行窗口进行交互。 描述中提到,这...

    用消息队列,实现聊天程序

    在本课程设计中,我们利用消息队列这一 IPC 方式来构建一个聊天程序,该程序在Linux环境下用C语言编写。消息队列提供了一种可靠且有序的数据传递机制,使得不同进程可以异步地发送和接收消息。 消息队列是由内核...

    Socket聊天程序.rar

    4. **数据传输格式**: 聊天程序通常采用文本格式传输数据,例如JSON或简单的字符串。在这种情况下,消息可能被封装成JSON对象,包含发送者、接收者和消息内容等字段,然后通过Socket进行发送。服务器负责转发消息到...

    Socket编写的一个基于MFC的聊天程序源代码。

    在这个基于MFC(Microsoft Foundation Classes)的聊天程序源代码中,我们可以深入学习到如何利用Socket接口在Windows环境下进行网络聊天应用的开发。MFC是微软提供的一个C++类库,它封装了Windows API,使得开发者...

    C++聊天程序完整代码程序

    【C++聊天程序完整代码程序】是一个针对初学者设计的项目,旨在帮助他们理解C++编程语言在实际应用中的运用,特别是如何构建一个简单的聊天应用程序。这个程序可能包含客户端和服务器端的代码,通过网络连接实现用户...

    串口通信聊天程序

    串口通信聊天程序是一种利用计算机串行接口进行数据交换的应用,它可以实现设备间的通信或在同一台计算机上不同应用程序之间的通信。在本项目中,我们基于C#编程语言,利用多线程和Socket技术构建了一个客户端-...

Global site tag (gtag.js) - Google Analytics