TCP

TCPClient

  1. package com.tcp;
  2.  
  3. import java.io.*;
  4. import java.net.*;
  5.  
  6. class TCPClient
  7. {
  8. public static void main(String argv[]) throws Exception
  9. {
  10. String sentence;
  11. String modifiedSentence;
  12. BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
  13.  
  14. Socket clientSocket = new Socket("127.0.0.1", 6789);
  15. DataOutputStream outToServer =
            new DataOutputStream(clientSocket.getOutputStream());
  16. BufferedReader inFromServer =
            new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
  17. sentence = inFromUser.readLine();
  18. outToServer.writeBytes(sentence + '\n');
  19. modifiedSentence = inFromServer.readLine();
  20. System.out.println("FROM SERVER: " + modifiedSentence);
  21. clientSocket.close();
  22. }
  23. }

TCPServer

  1. package com.tcp;
  2.  
  3. import java.io.*;
  4. import java.net.*;
  5.  
  6. class TCPServer
  7. {
  8. public static void main(String argv[]) throws Exception
  9. {
  10. String clientSentence;
  11. String capitalizedSentence;
  12. ServerSocket welcomeSocket = new ServerSocket
  13. (6789);
  14.  
  15. while(true)
  16. {
  17. Socket connectionSocket = welcomeSocket.accept();
  18.  
  19. BufferedReader inFromClient =
               new BufferedReader
              (new InputStreamReader(connectionSocket.getInputStream()));
  20.  
  21. DataOutputStream outToClient =
               new DataOutputStream(connectionSocket.getOutputStream());
  22. clientSentence = inFromClient.readLine();
  23. capitalizedSentence = clientSentence.toUpperCase() + '\n';
  24. outToClient.writeBytes(capitalizedSentence);
  25. }
  26. }
  27. }

UDP

UDPClient

  1. package com.udp;
  2.  
  3. import java.io.*;
  4. import java.net.*;
  5.  
  6. class UDPClient
  7. {
  8. public static void main(String args[]) throws Exception
  9. {
  10. BufferedReader inFromUser =
            new BufferedReader(new InputStreamReader(System.in));
  11. DatagramSocket clientSocket = new DatagramSocket();
  12. InetAddress IPAddress = InetAddress.getByName("localhost");
  13. byte[] sendData = new byte[1024];
  14. byte[] receiveData = new byte[1024];
  15. String sentence = inFromUser.readLine();
  16. sendData = sentence.getBytes();
  17. DatagramPacket sendPacket =
            new DatagramPacket(sendData, sendData.length, IPAddress, 9876);
  18. clientSocket.send(sendPacket);
  19. DatagramPacket receivePacket =
            new DatagramPacket(receiveData,receiveData.length);
  20. clientSocket.receive(receivePacket);
  21. String modifiedSentence = new String(receivePacket.getData());
  22. System.out.println("FROM SERVER:" +modifiedSentence);
  23. clientSocket.close();
  24. }
  25. }

UDPServer

  1. package com.udp;
  2.  
  3. import java.io.*;
  4. import java.net.*;
  5.  
  6. class UDPServer
  7. {
  8. public static void main(String args[]) throws Exception
  9. {
  10. DatagramSocket serverSocket = new
  11. DatagramSocket(9876);
  12. byte[] receiveData = new byte[1024];
  13. byte[] sendData = new byte[1024];
  14. while(true)
  15. {
  16. DatagramPacket receivePacket =
                  new DatagramPacket(receiveData, receiveData.length);
  17. serverSocket.receive(receivePacket);
  18. String sentence = new String(receivePacket.getData());
  19. InetAddress IPAddress = receivePacket.getAddress();
  20. int port = receivePacket.getPort();
  21. String capitalizedSentence = sentence.toUpperCase();
  22. sendData = capitalizedSentence.getBytes();
  23. DatagramPacket sendPacket =
                  new DatagramPacket(sendData,sendData.length, IPAddress, port);
  24. serverSocket.send(sendPacket);
  25. }
  26. }
  27. }

Socket TCP/UDP的更多相关文章

  1. 27.Socket,TCP,UDP,HTTP基本通信原理

    Socket,TCP,UDP,HTTP基本通信原理(摘自百度): TCP.UDP,HTTP 底层通信都是通过 socket 套接字实现 网络上不同的计算机,也可以通信,那么就得使用网络套接字(sock ...

  2. SOCKET, TCP/UDP, HTTP, FTP 浅析

    SOCKET, TCP/UDP, HTTP, FTP (一)TCP/UDP,SOCKET,HTTP,FTP简析   TCP/IP是个协议组,可分为三个层次:网络层.传输层和应用层: 网络层:IP协议. ...

  3. 网络编程之socket(TCP,UDP)

    socket层 tcp协议和udp协议 1)Socket服务器编程 主要包括下面的几步: 1.打开socket 2.绑定到一个地址和端口 3.侦听进来的连接 4.接受连接 5.读写数据 (2)Sock ...

  4. iOS socket TCP UDP

    TCP: 服务器: #import <Foundation/Foundation.h> #include <sys/socket.h> #include <netinet ...

  5. linux socket TCP UDP bind 同义IP和port

    //TCP and UDP can bind to the same IP & port. #include <sys/types.h> #include <sys/sock ...

  6. day29 python 套接字socket TCP udp 形式发送信息的区别

    我们经常把socket翻译为套接字,socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信. socket起源于UNIX,在 ...

  7. 简单使用SOCKET,TCP,UDP模式之间的通信

    TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的.可靠的.基于字节流的传输层通信协议,由IETF的RFC 793定义.在简化的计算机网络OSI模型中, ...

  8. 网络编程 套接字socket TCP UDP

    网络编程与套接字 网络编程 网络编程是什么: ​ 网络通常指的是计算机中的互联网,是由多台计算机通过网线或其他媒介相互链接组成的 ​ 编写基于网络的应用程序的过程序称之为网络编程. 网络编程最主要的工 ...

  9. nginx代理socket tcp/udp

    准备一台linux服务器.nginx官网:http://nginx.org/ .在网上搜到大致用的是 ngx_stream_core_module 这个模块,这里你也可以关注一下官方文档中的其他模块都 ...

随机推荐

  1. 关于SMALI语法

    dalvik字节码有两种类型,原始类型和引用类型.对象和数组是引用类型,其它都是原始类型.V  void,只能用于返回值类型Z  booleanB  byteS  shortC  charI  int ...

  2. Java进阶(五十二)利用LOG4J生成服务日志

    Java进阶(五十二)利用LOG4J生成服务日志 前言 由于论文写作需求,需要进行流程挖掘.前提是需要有真实的事件日志数据.真实的事件日志数据可以用来发现.监控和提升业务流程. 为了获得真实的事件日志 ...

  3. rhel6.4 安装nodejs和Mysql DB服务

    rhel6.4 安装nodejs和Mysql DB服务 安装好redhat6.4虚拟机后, 安装软件: # yum install gcc-c++ openssl-devel Loaded plugi ...

  4. unity用PUN进行信息交互模块

    using UnityEngine; using System.Collections.Generic; public class MessageChat : Photon.MonoBehaviour ...

  5. 认识Zygote

    概述 在java中不同的虚拟机实例会为不同的应用分配不同内存,为了使Android系统尽快启动,使用了Zygote来预加载核心类库和一些加载时间长的类(超过1250ms),让Dalvik虚拟机共享代码 ...

  6. ARM linux常用汇编语法

    汇编语言每行的语法:     lable: instruction  ; comment 段操作: .section           格式: .section 段名 [标志]     [标志]可以 ...

  7. PHP 查询脚本

    POST查询以表格传参数支持中文,GET不支持. POST查询: <?php $id=$_POST["id"];//id(中括号)为传来的参数,$id为php中的变量 //l ...

  8. Apriori和FPTree

    Apriori算法和FPTree算法都是数据挖掘中的关联规则挖掘算法,处理的都是最简单的单层单维布尔关联规则. Apriori算法 Apriori算法是一种最有影响的挖掘布尔关联规则频繁项集的算法.是 ...

  9. OpenCV stereo matching 代码 matlab实现视差显示

    转载请注明出处:http://blog.csdn.net/wangyaninglm/article/details/44151213, 来自:shiter编写程序的艺术 基础知识 计算机视觉是一门研究 ...

  10. 面试之路(16)-归并排序详解(MergeSort)递归和非递归实现

    归并排序的概念及定义 归并排序(Merge)是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的.然后再把有序子序列合并为整体有序序列. 归并排序是建立 ...