`

仿QQ平台实践第一步-实现聊天

 
阅读更多

2016.10.13

 

乐逗的校园大使的任务差不多都结束了,终于可以全身心的投入找工作了,向胡哥说的那样,每天面一场,然后总结,一定要争取机会去复试。加油!

现在继续在这边上课了。现在总结一下今天的上课内容,以后也尽量像这样及时的写技术博客。

什么叫服务端和客户端?

假如打开一个网页,你要查询资料。你是客户,因为你在访问,你访问的是客服端。去吃饭,你到饭店,你点餐你是顾客(客户端)Client,服务员也就是(服务端)Server

以一段代码为例:

public class TestServer {
	 public void startStar(int port){
     	try{
     		//1.创建一个服务器对象
     		System.out.println("1,开始创建服务器");
		    java.net.ServerSocket ss = new java.net.ServerSocket(port);
		    //2.等待连接进入
		    System.out.println("2,服务器创建成功在"+port);
		    while(true){
		    java.net.Socket client = ss.accept();//阻塞住,待机状态
		    System.out.println("3,在客服机进入..."+port);
		    //取得输入输出对象
		    java.io.InputStream ins = client.getInputStream();
		    java.io.OutputStream ous = client.getOutputStream();
		    //4.读写错了...
		    String msg ="hello";
		    byte[] data =msg.getBytes();
		    ous.write(data);
		    int t = ins.read();//阻塞
		    System.out.println("读到发来的一个字节: "+t);
		        }
     	}catch(Exception e){
     		e.printStackTrace();
     	}
     }

	public static void main(String[] args) {
		TestServer ss = new TestServer();
		ss.startStar(7676);
      }
}

 运行结果如下:

 1,开始创建服务器

 2,服务器创建成功在7676

 在windows环境下,命令行程序为cmd,然后输入ipconfig,出现如下IPV4就是本机的服务器地址,好像每次运行的都不一样。

 由于开始时电脑的Telnet客户端默认是关闭的,所以要自己打开。还有就是我这个自己添加了ipconfig的环境变量。

 

大概持续了好几分钟。

命令行模式 输入 telnet localhost  端口号

如果就是本地传输,则只要输入:

telnet localhost port(本次是7676)

结果如下:

 如果是与别人的电脑进行通信,则需输入:telnet xxx.xxx.x(对方的ip地址) 端口号 



 回去可以查看寝室的路由器,进行通信哦。

 over,洗澡睡觉。。

 这个是PDF上的,和上面的代码基本上一样。

 

public class TestServer {
	public void setUpServer(int port){
		//建立绑定在指定窗口上的服务器对象
		try {
			ServerSocket server = new ServerSocket(port);
			System.out.println("服务器创建成功! "+port);
			//让服务器进入等待状态:阻塞状态
			Socket client = server.accept();
			//从连接对象上得到输入输出流对象
			OutputStream out = client.getOutputStream();
			InputStream ins = client.getInputStream();
			String s = "你好,欢迎来javaKe.com\r\n";
			byte [] data = s.getBytes();//取得组成这个字符串的字节
			out.write(data);//用输出对象发送数据
			out.flush();//强制输出
			client.close();//关闭与客户机的连接
			
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
        public static void main(String[] args){
        	TestServer ts = new TestServer();
        	ts.setUpServer(8887);
       }
}

 

  • 大小: 41.1 KB
  • 大小: 75.9 KB
  • 大小: 14.2 KB
  • 大小: 12.6 KB
  • 大小: 1.9 KB
分享到:
评论

相关推荐

    仿QQ聊天窗口

    首先,前端界面的设计是构建仿QQ聊天窗口的第一步,也是最直观的一部分。开发者需要考虑如何通过HTML、CSS和JavaScript等Web技术实现与QQ聊天窗口相似的外观和操作逻辑。使用HTML负责构建页面的结构,CSS则用来定义...

    MFC仿QQ实例

    - **获取用户名和服务器IP**:这是登录的第一步,用户输入相关信息,程序将其存储,以便后续的网络通信。 - **按键失效**:在登录前,除登录按钮外,其他操作按钮如添加好友、隐藏等暂时失效,防止误操作。 - **创建...

    java做的仿QQ登录界面 简单通信

    QQ作为一款知名的即时通讯软件,其登录界面是用户接触应用的第一步,因此,仿制这样一个界面不仅涉及到UI设计,还涉及到网络通信技术。 【描述】:“可以实现聊天功能等”意味着这个项目不仅限于登录界面的模仿,还...

    仿WIN10QQ 即时聊天程序UI-易语言

    创建启动窗口是任何应用程序的第一步。在易语言中,我们可以在启动窗口中初始化所有必要的组件和设置。根据描述,代码在启动窗口创建完毕,这意味着在程序启动时,界面布局和功能已经被设定好。未闻花名皮肤模块...

    QQ聊天项目

    在QQ聊天项目中,登录是用户参与互动的第一步。它涉及到用户身份验证,通常包括用户名和密码的验证。这通常会涉及数据库操作,如SQL查询,以及安全性的考虑,如密码加密存储。同时,为了提供良好的用户体验,登录...

    QQ聊天c语言

    编写窗口类程序的第一步,是从最基础的“Hello World!”程序开始,这是学习任何编程语言的传统起点。随着学习的深入,我们将学习如何创建更复杂的对话框窗口,并使用`MessageBox`函数来显示警告或提示信息。这一过程...

    实现一个简易的聊天室功能

    实现聊天室的第一步是设置WebSocket服务器。这通常使用Node.js和专门的WebSocket库,如`ws`。服务器需要监听客户端的连接、断开和消息发送事件,并广播接收到的消息给所有在线用户。以下是一个简单的WebSocket服务器...

    聊天雏形代码和qq差不多

    总的来说,"聊天雏形代码"意味着开发者已经迈出了构建聊天应用的第一步,但还有大量的工作需要完成,包括代码优化、功能扩展、用户体验提升、安全性增强等。这是一项涉及多个领域的系统工程,需要持续的学习和实践...

    MFC chat QQ 聊天工具

    创建聊天工具的第一步是设置Winsock环境。在程序启动时,调用WSAStartup函数初始化Winsock库,并在退出时使用WSACleanup函数进行清理。接着,我们需要创建CAsyncSocket实例,设置相应的端口号和IP地址,然后调用...

    微信小程序模拟QQ

    模拟QQ的第一步是设计用户界面(UI)。UI设计需遵循微信小程序的设计规范,包括颜色、字体、图标等元素的选用,同时要尽可能贴近QQ的界面风格,以便用户能够快速适应。这需要熟练掌握WXML和WXSS,用它们来构建可复用...

    一个简单的Java的多人网络聊天室

    描述中提到的“登录界面”是用户进入聊天室的第一步,通常包括输入用户名和密码的字段,以及登录按钮。这部分可能使用了Java的Swing库,这是一个用于创建图形用户界面(GUI)的工具包,能够帮助开发者快速构建美观且...

    vc++实现qq

    1. **MFC应用程序框架**:创建QQ界面的第一步是建立一个MFC应用程序。在VC++中,我们可以选择“新建项目”并选择MFC应用程序模板。这将为我们生成一个基础的框架,包括主窗口类、消息处理机制等。 2. **窗口和控件*...

    易语言找QQ窗口源码

    在实际的编程实践中,找到QQ窗口只是第一步,接下来可能会涉及到对窗口的进一步操作。例如,获取窗口的位置、尺寸,或者对窗口执行最小化、最大化、关闭等动作。在这个过程中,开发者还必须考虑到异常处理,比如在QQ...

    java课程设计J-QQ

    8. **需求分析和项目管理**:需求分析是项目开发的第一步,你需要了解如何根据需求文档来规划项目,确定任务优先级,以及如何使用工具如Git进行版本控制。 9. **即时通信协议**:理解基本的即时通信协议,如XMPP...

    qq场景编辑器及使用教程

    在使用QQ场景编辑器时,第一步通常是选择或创建一个新的场景模板。模板库中包含了各种风格的场景,如节日主题、日常场景、情感表达等,你可以根据聊天内容或个人喜好挑选合适的模板。如果想要完全自定义,也可以选择...

    安卓QQ源代码

    在`qq`这个源代码中,你将看到类似的结构,了解每个部分的作用是理解代码的第一步。 3. **用户界面(UI)设计**:源代码中会包含多个XML布局文件,这些文件定义了应用的界面元素和它们的排列方式。使用`...

    QQ表情制作软件(实用)

    第一步是选择或上传基础图片,这可以是你喜欢的任何图片,比如自拍照、网络图片或者是截屏。然后,你可以利用软件提供的编辑功能,如裁剪、旋转、调整亮度和对比度,来优化图片的基础效果。 第二步就是添加个性化...

    c#做的一个QQ程序,还有不足的地方...适合菜鸟下载下去消化,老鸟不要笑

    理解类的创建、属性的定义以及方法的使用,是掌握C#的第一步。 其次,C#中的事件驱动编程模型在GUI(图形用户界面)设计中起着核心作用。QQ程序必然涉及到用户交互,如点击按钮、发送消息等。这需要用到控件事件,...

    MyQQ(局域网内聊天工具)

    第一步,你需要将数据库附加到局域网中主机的SQL Server上。SQL Server是一款由Microsoft开发的关系型数据库管理系统,它负责存储和管理MyQQ的所有用户信息、聊天记录以及相关设置。这一过程涉及到数据库的连接和...

    java语句编写QQ

    理解Socket的工作原理以及如何创建、连接、读写数据是构建QQ程序的第一步。 三、多线程 为了实现同时接收和发送消息,QQ程序需要使用多线程技术。Java中的Thread类和Runnable接口是实现多线程的基础。我们需要设计...

Global site tag (gtag.js) - Google Analytics