原文:聊天程序(基于Socket、Thread)

聊天程序简述 目的:主要是为了阐述Socket,以及应用多线程,本文侧重Socket相关网路编程的阐述。如果您对多线程不了解,大家可以看下我的上一篇博文浅解多线程 。 功能:此聊天程序功能实现了服务端跟多个客户端之间的聊天,可以群发消息,选择ip发消息,客户端向服务端发送文件。 例子为WinForm应用程序 Socket,端口,Tcp,UDP。 概念 Socket还被称作 套接字 ,应用程序通常通 ...

2012-11-26 14:23 39 19255 推荐指数:

查看详情

Socket实现简单聊天程序

近期学完TCP/IP协议,东拼西凑写了一个简单Socket程序。在此总结一下,希望总结完成之后能领悟一些东西。 1.什么是Socket? 要了解这个问题首先来看一张图, 其实Socket,就是一组函数,它们和Unix I/O 函数结合起来,用以创建网络应用。由图可以看出Socket介于应用层 ...

Tue Dec 01 03:03:00 CST 2020 0 393
Socket网络编程--聊天程序(5)

  上一小节我们讲了使用select来避免使用多进程的资源浪费问题。上次只是实现了从多个客户端发送数据给服务器端,接下来就要实现从服务器端发送数据给各个客户端。   使用select多路转换处理聊天程序2   client.c 使用上一节用的那个,在那个基础上修改下面几句 ...

Mon Jul 28 19:30:00 CST 2014 6 3866
Socket网络编程--聊天程序(8)

  上一节已经完成了对用户的身份验证了,既然有了验证,那么接下来就能对不同的客户端进行区分了,所以这一节讲实现私聊功能。就是通过服务器对客户端的数据进行转发到特定的用户上,   实现私聊功能的聊天程序   实现的技术细节是:对客户端发送的数据增加一个标识头,由于我们处理的是纯文本,所以为了讲解 ...

Thu Jul 31 18:48:00 CST 2014 2 3670
基于socket实现的简单的聊天程序

  记得八年前第一次使用socket做的一个五子棋程序,需要序列化棋子对象,传递到对方的电脑上。 一个偶然的机会,第二次使用socket做点事情。先看聊天服务器端的实现: 服务器端要实现以下功能: 1、启动服务,开启监听 2、持续不断地接收消息 ...

Mon Jul 10 19:49:00 CST 2017 0 4895
Socket网络编程--聊天程序(9)

  这一节应该是聊天程序的最后一节了,现在回顾我们的聊天程序,看起来还有很多功能没有实现,但是不管怎么说,都还是不错的。这一节我们将讲多服务器问题(高大上的说法就是负载问题了。)至于聊天程序的文件发送(也即二进制文件发送例如图片)和单点登陆(就是多加一个数组fd_L[],用来记录是否已经登陆过了 ...

Fri Aug 01 18:50:00 CST 2014 6 3652
Socket网络编程--聊天程序(1)

  很早的一段时间,看了APUE和UNPv1了解了网络编程,但是但是只是看而已,没有具体的实践,趁现在没有什么事做,就来实践了解一下网络编程。写博客保存下来,方便以后用到的时候可以查到。   此次的聊天程序是迭代开发的。就是一步一步的修改成不同功能的聊天程序。   服务器server和客户端 ...

Sun Jul 27 00:25:00 CST 2014 3 5950
Socket网络编程--聊天程序(2)

  上一节简单如何通过Socket创建一个连接,然后进行通信。只是每个人只能说一句话。而且还是必须说完才会接收到信息,总之是很不方便的事情。所以这一小节我们将对上一次的程序进行修改,修改成每个人可以多说话,主要是通过Linux下多进程fork实现的。   一对一,server和client ...

Sun Jul 27 00:52:00 CST 2014 2 3303
Socket网络编程--聊天程序(3)

  上一小节,已经讲到可以每个人多说话,而且还没有限制,简单的来说,我们已经完成了聊天的功能了,那么接下来我们要实现什么功能呢?一个聊天程序至少应该支持一对多的通讯吧,接下来就实现多个客户端往服务器发送数据,和服务器向多个客户端发送数据。   多对一,单向,各个客户端都可以向服务器发送数据 ...

Sun Jul 27 01:48:00 CST 2014 2 3630
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM