今天玩了一个叫你画我猜的游戏,萌生了用java写的想法。
其实你首先要想好socket是什么,socket在网络编程中是用来做什么的。Socket:在操作系统内核中,它代表网络连接的一个端点,在应用程序中,它代表一个打开的文件。插座?Pair唯一确认的网络连接,套接字?Pair是客户端套接字和服务器套接字的组合。即客户端ip和端口以及服务器ip和端口的组合。一个网络连接也是一个通信通道,tcp连接代表的通道是全双工的。就通道而言,逻辑上有两个管道来代表输出和输入发送和接收信息。
然后在应用程序中,我们可以得到这两个管道来完成socket之间的通信。
根据您的应用程序,输出流fos表示图中的红色管道,因此在服务器端应该是这样的。
斯科特?康索克?=?server socket . accept();//connSock代表服务器的套接字。
InputStream?是吗?=?conn sock . getinputstream();//输入流is表示图中的红色管道。
OutputStrea?os?=?conn sock . get output stream();//输出流os表示图中的绿色管道。
服务器上有一个字节缓冲区来存储从is中读取的字节数据。
byte[]?缓冲?=?新的?byte[1024];
然后,服务器读取数据以填充字节缓冲区。
is.read(缓冲区);//像这样
然后根据你的需要来操作这个缓冲器。
然后将处理后的数据通过os发送给客户端。Os就是图中的绿管。
Os.write(已处理的数据);