网络编程

网络通信

socket

创建socket

improt socket
socket.socket(AddressFamily, Type)

说明 socket.socket 创建一个socket,该函数带有两个参数:

  • Adress Family:可以用AF_INET(用于Internet进程间通信) 或者 AF_UNIX(用于同一台机器进程件通信), 实际工作中通常用AF_INET
  • Type:套接字类型,可以是SOCK_STREAM(流式套接字, 主要用于TCP协议)或者SOCK_DGRAM(数据报套接字,主要用于UDP协议)
  • 创建一个tcp socket(tcp套接字)
import socket
#创建套接字
s = socket.socket(socket.AF_INET, SOCK_STREAM)
#。。。这里是使用套接字的功能(省略)。。
#不用的时候关闭套接字
s.close()

udp

  • 代码
import socket

def main():
#创建一个udp套接字
print("以发送")
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
#可以使用套接字收发数据
#udp_socket.sendto("jjjjjjjj", 对方的ip及port)
udp_socket.sendto(b"jjjjjjjjj", ("192.168.2.119", 8080))
#关闭套接字
udp_socket.close()
print("以发送")
if __name__ == "__main__":
print("以发送")
main()

  • 发送任意数据
import socket
 def main():
#创建一个udp套接字
#print("以发送")
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
#可以使用套接字收发数据
while True:
     send_date = input("请输入要发送的数据:")
	#udp_socket.sendto("jjjjjjjj", 对方的ip及port)
	#udp_socket.sendto(b"jjjjjjjjj", ("192.168.2.119", 8080))
	udp_socket.sendto(send_date.encode("utf-8"), ("192.168.2.119", 8080)    )
#关闭套接字
udp_socket.close()
#print("以发送")

if __name__ == "__main__":
#print("以发送")
main()

   

你可能感兴趣的:(网络编程)