初识socket

Posted kevin-red-heart

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初识socket相关的知识,希望对你有一定的参考价值。

通过简单学习C/S网络构架与网络通信流程.知道:端口+IP能够确定一台电脑上的某一个应用程序.

以访问京东为例,可以分析出需要一个服务器端和一个客户端.

Server端:

#导入socket模块
import socket
server = socket.socket()            #创建socket对象,创建了一个手机
ip_port = (‘192.168.12.11‘,8002)    #给程序设置一个ip地址和端口号,买了个手机卡
server.bind(ip_port)                #绑定ip地址和端口,插卡
server.listen()                     #监听ip地址和端口,简称开机
print(‘111111‘)                     #测试程序等待执行到哪
conn,addr = server.accept()         #等待建立连接, conn是连接通道,addr是客户端的地址,阻塞程序
print(‘222222‘)
                                    #服务端通过conn连接通道来收发消息,通过recv方法,recv里面的参数是字节(B),1024的意思1024B=1KB
from_client_msg = conn.recv(1024)

print(‘高旺说:‘,from_client_msg.decode(‘utf-8‘))

to_client_msg = input(‘高旺的女朋友说:‘)

conn.send(to_client_msg.encode(‘utf-8‘)) #回复消息:通过send方法,参数必须是字节类    型的,

conn.close()                         #关闭通道,关电话,通过close方法
server.close()                       #关闭socket对象,关机
                                    

注:服务器端是通过通道(conn)来回复消息(发送消息)  

Client端:

#导入socket
import socket                                       #创建一个socket对象
client = socket.socket()                         #找到服务端的ip地址和端口
server_ip_port = (‘192.168.12.11‘,8002)  
client.connect(server_ip_port)          #连接服务端的应用程序,通过connect方法,参数是服务端的ip地址和端口,打电话
to_server_msg = input(‘高旺说:‘ client.send(to_server_msg.encode(‘utf-8‘)) #发消息,用的send方法,但是调用者是client的socket对象
from_server_msg = client.recv(1024)
print(‘高旺的女朋友说:‘,from_server_msg.decode(‘utf-8‘))
client.close()

 注:客户端是建立的对象.send信息

2.  一直对话的程序

      server收一个发一个
      client发一个收一个
服务器端:
import socket
server = socket.socket()
ip_port = ("127.0.0.1",8006)
server.bind(ip_port)
server.listen()
conn,addr = server.accept()#等待建立连接
while 1:
    from_client_msg = conn.recv(1024)
    print("客户端说:",from_client_msg.decode("utf-8"))
    server_send_msg = input("服务器说:")
    conn.send(server_send_msg.encode("UTF-8"))

  服务器建立对象,绑定ip和端口,监听;接受建立通道和地址;

客户端:

import socket
client = socket.socket()
client.connect(("127.0.0.1",8006)) #建立连接
while 1:
    to_server_msg = input("客户端说:")
    client.send(to_server_msg.encode("utf-8"))
    from_server_msg = client.recv(1024).decode("utf-8")
    print("服务器说:",from_server_msg)

  客户端对象,连接服务器ip和端口.

 




以上是关于初识socket的主要内容,如果未能解决你的问题,请参考以下文章

socket编程初识

Java初识方法

初识socket

Socket初识

初识socket

初识OpenGL 片段着色器(Fragment Shader)